From 53606e08f5b8132a678905ff615d282789e559d8 Mon Sep 17 00:00:00 2001 From: tidusjar Date: Tue, 1 Jun 2021 20:26:35 +0100 Subject: [PATCH] Fixed the issue when using the "Request First Season" it was picking the "Specials" season. --- src/Ombi.Core/Helpers/TvShowRequestBuilderV2.cs | 12 ++++++++++++ src/Ombi.TheMovieDbApi/Models/TvInfo.cs | 3 ++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/Ombi.Core/Helpers/TvShowRequestBuilderV2.cs b/src/Ombi.Core/Helpers/TvShowRequestBuilderV2.cs index 1a77be97a..7a45e9f09 100644 --- a/src/Ombi.Core/Helpers/TvShowRequestBuilderV2.cs +++ b/src/Ombi.Core/Helpers/TvShowRequestBuilderV2.cs @@ -33,6 +33,14 @@ namespace Ombi.Core.Helpers public async Task GetShowInfo(int id) { TheMovieDbRecord = await MovieDbApi.GetTVInfo(id.ToString()); + + // Remove 'Specials Season' + var firstSeason = TheMovieDbRecord.seasons.OrderBy(x => x.season_number).FirstOrDefault(); + if (firstSeason?.season_number == 0) + { + TheMovieDbRecord.seasons.Remove(firstSeason); + } + BackdropPath = TheMovieDbRecord.Images?.Backdrops?.OrderBy(x => x.VoteCount).ThenBy(x => x.VoteAverage).FirstOrDefault()?.FilePath; ; DateTime.TryParse(TheMovieDbRecord.first_air_date, out var dt); @@ -149,6 +157,10 @@ namespace Ombi.Core.Helpers else if (tv.FirstSeason) { var first = allEpisodes.OrderBy(x => x.season_number).FirstOrDefault(); + if (first.season_number == 0) + { + first = allEpisodes.OrderBy(x => x.season_number).Skip(1).FirstOrDefault(); + } var episodesRequests = new List(); foreach (var ep in allEpisodes) { diff --git a/src/Ombi.TheMovieDbApi/Models/TvInfo.cs b/src/Ombi.TheMovieDbApi/Models/TvInfo.cs index 024d6f42b..35e807525 100644 --- a/src/Ombi.TheMovieDbApi/Models/TvInfo.cs +++ b/src/Ombi.TheMovieDbApi/Models/TvInfo.cs @@ -1,4 +1,5 @@ using Newtonsoft.Json; +using System.Collections.Generic; namespace Ombi.Api.TheMovieDb.Models { @@ -26,7 +27,7 @@ namespace Ombi.Api.TheMovieDb.Models public float popularity { get; set; } public string poster_path { get; set; } public Production_Companies[] production_companies { get; set; } - public Season[] seasons { get; set; } + public List seasons { get; set; } public string status { get; set; } public string type { get; set; } public float vote_average { get; set; }