aboutsummaryrefslogtreecommitdiff
path: root/tool/src/import/mod.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-12-16 12:52:33 +0100
committermetamuffin <metamuffin@disroot.org>2023-12-16 12:52:33 +0100
commit2ff80433ee16f6e3088af09cac07cd6484b25b50 (patch)
tree5f54ffa2383c650396ec1cd594f456df8ad0e35d /tool/src/import/mod.rs
parent0a3abebd73e7e7d879ad94fc1d2ec26f9221edc2 (diff)
downloadjellything-2ff80433ee16f6e3088af09cac07cd6484b25b50.tar
jellything-2ff80433ee16f6e3088af09cac07cd6484b25b50.tar.bz2
jellything-2ff80433ee16f6e3088af09cac07cd6484b25b50.tar.zst
release dates from tmdb
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()
},
};