From 8efce689226282d6f80126c63571b17ed6f1e333 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Mon, 24 Mar 2025 19:00:23 -0700 Subject: [PATCH] Fixed: Trakt yearly lists no longer supported (cherry picked from commit bdd975da0f1587a058c9b44871dd62eaada02467) --- .../Trakt/Popular/TraktPopularListType.cs | 13 +++++++++++++ .../Trakt/Popular/TraktPopularRequestGenerator.cs | 6 +++++- .../Trakt/Popular/TraktPopularSettings.cs | 9 ++++++++- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/NzbDrone.Core/ImportLists/Trakt/Popular/TraktPopularListType.cs b/src/NzbDrone.Core/ImportLists/Trakt/Popular/TraktPopularListType.cs index aea2f88252..21c859098b 100644 --- a/src/NzbDrone.Core/ImportLists/Trakt/Popular/TraktPopularListType.cs +++ b/src/NzbDrone.Core/ImportLists/Trakt/Popular/TraktPopularListType.cs @@ -1,3 +1,4 @@ +using System; using NzbDrone.Core.Annotations; namespace NzbDrone.Core.ImportLists.Trakt.Popular @@ -6,27 +7,39 @@ public enum TraktPopularListType { [FieldOption(Label = "ImportListsTraktSettingsPopularListTypeTrendingMovies")] Trending = 0, + [FieldOption(Label = "ImportListsTraktSettingsPopularListTypePopularMovies")] Popular = 1, + [FieldOption(Label = "ImportListsTraktSettingsPopularListTypeTopAnticipatedMovies")] Anticipated = 2, + [FieldOption(Label = "ImportListsTraktSettingsPopularListTypeTopBoxOfficeMovies")] BoxOffice = 3, [FieldOption(Label = "ImportListsTraktSettingsPopularListTypeTopWatchedMoviesByWeek")] TopWatchedByWeek = 4, + [FieldOption(Label = "ImportListsTraktSettingsPopularListTypeTopWatchedMoviesByMonth")] TopWatchedByMonth = 5, + + [Obsolete] [FieldOption(Label = "ImportListsTraktSettingsPopularListTypeTopWatchedMoviesByYear")] TopWatchedByYear = 6, + [FieldOption(Label = "ImportListsTraktSettingsPopularListTypeTopWatchedMoviesOfAllTime")] TopWatchedByAllTime = 7, + [FieldOption(Label = "ImportListsTraktSettingsPopularListTypeRecommendedMoviesByWeek")] RecommendedByWeek = 8, + [FieldOption(Label = "ImportListsTraktSettingsPopularListTypeRecommendedMoviesByMonth")] RecommendedByMonth = 9, + + [Obsolete] [FieldOption(Label = "ImportListsTraktSettingsPopularListTypeRecommendedMoviesByYear")] RecommendedByYear = 10, + [FieldOption(Label = "ImportListsTraktSettingsPopularListTypeRecommendedMoviesOfAllTime")] RecommendedByAllTime = 11 } diff --git a/src/NzbDrone.Core/ImportLists/Trakt/Popular/TraktPopularRequestGenerator.cs b/src/NzbDrone.Core/ImportLists/Trakt/Popular/TraktPopularRequestGenerator.cs index 660f42fae3..78ff71e9ff 100644 --- a/src/NzbDrone.Core/ImportLists/Trakt/Popular/TraktPopularRequestGenerator.cs +++ b/src/NzbDrone.Core/ImportLists/Trakt/Popular/TraktPopularRequestGenerator.cs @@ -49,7 +49,9 @@ private IEnumerable GetMoviesRequest() case (int)TraktPopularListType.TopWatchedByMonth: link += "movies/watched/monthly"; break; +#pragma warning disable CS0612 case (int)TraktPopularListType.TopWatchedByYear: +#pragma warning restore CS0612 link += "movies/watched/yearly"; break; case (int)TraktPopularListType.TopWatchedByAllTime: @@ -61,11 +63,13 @@ private IEnumerable GetMoviesRequest() case (int)TraktPopularListType.RecommendedByMonth: link += "movies/recommended/monthly"; break; +#pragma warning disable CS0612 case (int)TraktPopularListType.RecommendedByYear: +#pragma warning restore CS0612 link += "movies/recommended/yearly"; break; case (int)TraktPopularListType.RecommendedByAllTime: - link += "movies/recommended/yearly"; + link += "movies/recommended/all"; break; } diff --git a/src/NzbDrone.Core/ImportLists/Trakt/Popular/TraktPopularSettings.cs b/src/NzbDrone.Core/ImportLists/Trakt/Popular/TraktPopularSettings.cs index 8db66429fd..d26bbbfc2f 100644 --- a/src/NzbDrone.Core/ImportLists/Trakt/Popular/TraktPopularSettings.cs +++ b/src/NzbDrone.Core/ImportLists/Trakt/Popular/TraktPopularSettings.cs @@ -10,7 +10,14 @@ public class TraktPopularSettingsValidator : TraktSettingsBaseValidator c.TraktListType).NotNull(); + RuleFor(c => c.TraktListType) + .NotNull() +#pragma warning disable CS0612 + .NotEqual((int)TraktPopularListType.TopWatchedByYear) + .WithMessage("Yearly lists are no longer supported") + .NotEqual((int)TraktPopularListType.RecommendedByYear) + .WithMessage("Yearly lists are no longer supported"); +#pragma warning restore CS0612 // Loose validation @TODO RuleFor(c => c.Rating)