From 74663ea077d97ffdcf400976e23da6bd37047f60 Mon Sep 17 00:00:00 2001 From: Qstick Date: Thu, 3 Feb 2022 22:29:46 -0600 Subject: [PATCH] Fixed: (Cardigann) Replace legacy links with default link when making requests --- .../Definitions/Cardigann/CardigannBase.cs | 19 +++++++++++++++++++ .../Definitions/Cardigann/CardigannParser.cs | 2 +- .../Cardigann/CardigannRequestGenerator.cs | 2 +- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannBase.cs b/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannBase.cs index 05fdeda25..d3fb825f4 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannBase.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannBase.cs @@ -816,5 +816,24 @@ namespace NzbDrone.Core.Indexers.Cardigann { return new Uri(currentUrl ?? new Uri(SiteLink), path); } + + protected string ResolveSiteLink() + { + var settingsBaseUrl = Settings?.BaseUrl; + var defaultLink = _definition.Links.First(); + + if (settingsBaseUrl == null) + { + return defaultLink; + } + + if (_definition.Legacylinks.Contains(settingsBaseUrl)) + { + _logger.Trace("Changing legacy site link from {0} to {1}", settingsBaseUrl, defaultLink); + return defaultLink; + } + + return settingsBaseUrl; + } } } diff --git a/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannParser.cs b/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannParser.cs index 5ad00524c..d429a6a5f 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannParser.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannParser.cs @@ -21,7 +21,7 @@ namespace NzbDrone.Core.Indexers.Cardigann { public Action, DateTime?> CookiesUpdater { get; set; } - protected override string SiteLink => Settings?.BaseUrl ?? _definition.Links.First(); + protected override string SiteLink => ResolveSiteLink(); public CardigannParser(IConfigService configService, CardigannDefinition definition, diff --git a/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannRequestGenerator.cs b/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannRequestGenerator.cs index 2622142cd..1af2cb641 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannRequestGenerator.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannRequestGenerator.cs @@ -27,7 +27,7 @@ namespace NzbDrone.Core.Indexers.Cardigann public IDictionary Cookies { get; set; } protected HttpResponse landingResult; protected IHtmlDocument landingResultDocument; - protected override string SiteLink => Settings?.BaseUrl ?? _definition.Links.First(); + protected override string SiteLink => ResolveSiteLink(); public CardigannRequestGenerator(IConfigService configService, CardigannDefinition definition,