aboutsummaryrefslogtreecommitdiff
path: root/tool/src/import/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tool/src/import/mod.rs')
-rw-r--r--tool/src/import/mod.rs15
1 files changed, 12 insertions, 3 deletions
diff --git a/tool/src/import/mod.rs b/tool/src/import/mod.rs
index 250643e..fb42c4d 100644
--- a/tool/src/import/mod.rs
+++ b/tool/src/import/mod.rs
@@ -8,7 +8,7 @@ pub mod tmdb;
use crate::{make_ident, ok_or_warn, Action};
use anyhow::Context;
-use infojson::{parse_upload_date, YVideo};
+use infojson::YVideo;
use jellycommon::{
AssetLocation, LocalTrack, MediaInfo, MediaSource, Node, NodeKind, NodePrivate, NodePublic,
Rating,
@@ -216,6 +216,11 @@ pub(crate) fn import(action: Action, dry: bool) -> anyhow::Result<()> {
.map(|i| i.like_count.map(|l| (Rating::YoutubeLikes, l as f64)))
.flatten(),
);
+ ratings.extend(
+ tmdb_details
+ .as_ref()
+ .map(|d| (Rating::Tmdb, d.vote_average)),
+ );
let node = Node {
private: NodePrivate {
@@ -257,9 +262,13 @@ pub(crate) fn import(action: Action, dry: bool) -> anyhow::Result<()> {
duration: m.duration,
tracks: m.tracks.clone(),
}),
- release_date: infojson
+ release_date: tmdb_details
.as_ref()
- .and_then(|j| ok_or_warn(parse_upload_date(&j.upload_date))),
+ .map(|d| tmdb::parse_release_date(&d.release_date.clone()?).ok())
+ .flatten()
+ .or(infojson
+ .as_ref()
+ .and_then(|j| ok_or_warn(infojson::parse_upload_date(&j.upload_date)))),
..Default::default()
},
};