From 0ba4f3e6923b96fb6cf1466e28bef120ed8b4205 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Tue, 7 Nov 2023 15:00:37 +0200 Subject: [PATCH] Fixed: (Orpheus) Filter old releases on RSS --- .../Indexers/Definitions/Orpheus.cs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/NzbDrone.Core/Indexers/Definitions/Orpheus.cs b/src/NzbDrone.Core/Indexers/Definitions/Orpheus.cs index f7a519684..8c94d83e0 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/Orpheus.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/Orpheus.cs @@ -29,6 +29,7 @@ namespace NzbDrone.Core.Indexers.Definitions public override IndexerPrivacy Privacy => IndexerPrivacy.Private; public override IndexerCapabilities Capabilities => SetCapabilities(); public override bool SupportsRedirect => true; + public override TimeSpan RateLimit => TimeSpan.FromSeconds(3); public Orpheus(IIndexerHttpClient httpClient, IEventAggregator eventAggregator, @@ -49,10 +50,24 @@ namespace NzbDrone.Core.Indexers.Definitions return new OrpheusParser(Settings, Capabilities.Categories); } + protected override IList CleanupReleases(IEnumerable releases, SearchCriteriaBase searchCriteria) + { + var cleanReleases = base.CleanupReleases(releases, searchCriteria); + + if (searchCriteria.IsRssSearch) + { + cleanReleases = cleanReleases.Take(50).ToList(); + } + + return cleanReleases; + } + private IndexerCapabilities SetCapabilities() { var caps = new IndexerCapabilities { + LimitsDefault = 50, + LimitsMax = 50, MusicSearchParams = new List { MusicSearchParam.Q, MusicSearchParam.Artist, MusicSearchParam.Album, MusicSearchParam.Year @@ -200,6 +215,7 @@ namespace NzbDrone.Core.Indexers.Definitions } var queryCats = _capabilities.Categories.MapTorznabCapsToTrackers(searchCriteria.Categories); + if (queryCats.Any()) { queryCats.ForEach(cat => parameters.Set($"filter_cat[{cat}]", "1"));