From eb0aa2329302bf91a3c34c86959ae39e7a68122e Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Thu, 13 Feb 2020 21:03:07 +0100 Subject: [PATCH] Handling absolute ordering episodes --- Kyoo/Controllers/Crawler.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Kyoo/Controllers/Crawler.cs b/Kyoo/Controllers/Crawler.cs index 6c74dd93..0c82e9f7 100644 --- a/Kyoo/Controllers/Crawler.cs +++ b/Kyoo/Controllers/Crawler.cs @@ -101,7 +101,7 @@ namespace Kyoo.Controllers Collection collection = await GetCollection(collectionName, library); Show show = await GetShow(showName, showPath, library); - Season season = await GetSeason(show, seasonNumber, library); + Season season = seasonNumber != -1 ? await GetSeason(show, seasonNumber, library) : null; Episode episode = await GetEpisode(show, season, episodeNumber, absoluteNumber, path, library); _libraryManager.RegisterEpisode(episode); _libraryManager.RegisterShowLinks(library, collection, show); @@ -141,8 +141,10 @@ namespace Kyoo.Controllers private async Task GetEpisode(Show show, Season season, long episodeNumber, long absoluteNumber, string episodePath, Library library) { - Episode episode = await _metadataProvider.GetEpisode(show, episodePath, season.SeasonNumber, episodeNumber, absoluteNumber, library); + Episode episode = await _metadataProvider.GetEpisode(show, episodePath, season?.SeasonNumber ?? -1, episodeNumber, absoluteNumber, library); episode.Show = show; + if (season == null) + season = await GetSeason(show, episode.SeasonNumber, library); episode.Season = season; IEnumerable tracks = await _transcoder.GetTrackInfo(episode.Path);