From 57256e52c51bdc5cd3f79dd4b30d38c090218ffc Mon Sep 17 00:00:00 2001 From: metamuffin Date: Thu, 11 Dec 2025 23:01:31 +0100 Subject: Fixes for show import --- import/src/plugins/misc.rs | 1 + import/src/plugins/mod.rs | 1 + import/src/plugins/tmdb.rs | 4 ++++ import/src/plugins/trakt.rs | 10 ++++++---- 4 files changed, 12 insertions(+), 4 deletions(-) (limited to 'import') diff --git a/import/src/plugins/misc.rs b/import/src/plugins/misc.rs index 4c6fb76..0444d0c 100644 --- a/import/src/plugins/misc.rs +++ b/import/src/plugins/misc.rs @@ -179,6 +179,7 @@ impl ImportPlugin for EpisodeIndex { .context("parse season num")?; ct.db.update_node_init(node, |node| { + node.kind = NodeKind::Episode; node.index = Some(episode); node.season_index = Some(season); Ok(()) diff --git a/import/src/plugins/mod.rs b/import/src/plugins/mod.rs index a294b9c..20c3529 100644 --- a/import/src/plugins/mod.rs +++ b/import/src/plugins/mod.rs @@ -66,6 +66,7 @@ pub fn init_plugins(secrets: &ApiSecrets) -> Vec> { plugins.push(Box::new(misc::Children)); plugins.push(Box::new(misc::ImageAttachments)); plugins.push(Box::new(misc::ImageFiles)); + plugins.push(Box::new(misc::EpisodeIndex)); plugins.push(Box::new(tags::Tags)); plugins.push(Box::new(media_info::MediaInfo)); plugins.push(Box::new(infojson::Infojson)); diff --git a/import/src/plugins/tmdb.rs b/import/src/plugins/tmdb.rs index c718976..4d172c5 100644 --- a/import/src/plugins/tmdb.rs +++ b/import/src/plugins/tmdb.rs @@ -235,7 +235,11 @@ impl Tmdb { images.push((PictureSlot::Cover, self.image(path, ct.rt)?)) } + let release_date = parse_release_date(&details.air_date)?; ct.db.update_node_init(node, |node| { + node.title = Some(details.name.clone()); + node.description = Some(details.overview.clone()); + node.release_date = release_date.or(node.release_date); node.ratings.insert(RatingType::Tmdb, details.vote_average); node.pictures.extend(images); Ok(()) diff --git a/import/src/plugins/trakt.rs b/import/src/plugins/trakt.rs index 706d2b7..48a97ae 100644 --- a/import/src/plugins/trakt.rs +++ b/import/src/plugins/trakt.rs @@ -147,7 +147,7 @@ pub struct TraktSeason { pub aired_count: Option, pub title: String, pub overview: Option, - pub network: String, + pub network: Option, } #[derive(Debug, Clone, Deserialize, Serialize, Default)] @@ -156,10 +156,10 @@ pub struct TraktEpisode { pub number: usize, pub number_abs: Option, pub ids: TraktIds, - pub rating: f64, + pub rating: Option, pub votes: usize, pub title: String, - pub runtime: f64, + pub runtime: Option, pub overview: Option, pub available_translations: Vec, pub first_aired: Option, @@ -514,7 +514,9 @@ impl Trakt { node.index = Some(episode.number); node.title = Some(episode.title.clone()); node.description = episode.overview.clone().or(node.description.clone()); - node.ratings.insert(RatingType::Trakt, episode.rating); + if let Some(r) = episode.rating { + node.ratings.insert(RatingType::Trakt, r); + } Ok(()) })?; } -- cgit v1.3