diff options
Diffstat (limited to 'import')
| -rw-r--r-- | import/src/plugins/misc.rs | 1 | ||||
| -rw-r--r-- | import/src/plugins/mod.rs | 1 | ||||
| -rw-r--r-- | import/src/plugins/tmdb.rs | 4 | ||||
| -rw-r--r-- | import/src/plugins/trakt.rs | 10 |
4 files changed, 12 insertions, 4 deletions
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<Box<dyn ImportPlugin>> { 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<usize>, pub title: String, pub overview: Option<String>, - pub network: String, + pub network: Option<String>, } #[derive(Debug, Clone, Deserialize, Serialize, Default)] @@ -156,10 +156,10 @@ pub struct TraktEpisode { pub number: usize, pub number_abs: Option<usize>, pub ids: TraktIds, - pub rating: f64, + pub rating: Option<f64>, pub votes: usize, pub title: String, - pub runtime: f64, + pub runtime: Option<f64>, pub overview: Option<String>, pub available_translations: Vec<String>, pub first_aired: Option<String>, @@ -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(()) })?; } |