From b49d2312abc722a1345cecbe5ec62d6c3db6bc90 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Sat, 29 Jul 2023 04:37:21 +0300 Subject: [PATCH] Fixed: Check only enabled Jackett indexers for '/all' endpoint (cherry picked from commit ae3dd5730e05c5229e7f7092f15c33859524863b) Closes #2730 --- .../Checks/IndexerJackettAllCheckFixture.cs | 1 + .../Checks/IndexerJackettAllCheck.cs | 19 +++++++++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/NzbDrone.Core.Test/HealthCheck/Checks/IndexerJackettAllCheckFixture.cs b/src/NzbDrone.Core.Test/HealthCheck/Checks/IndexerJackettAllCheckFixture.cs index 6cbe0934e..5e32b8c7c 100644 --- a/src/NzbDrone.Core.Test/HealthCheck/Checks/IndexerJackettAllCheckFixture.cs +++ b/src/NzbDrone.Core.Test/HealthCheck/Checks/IndexerJackettAllCheckFixture.cs @@ -38,6 +38,7 @@ private void GivenIndexer(string baseUrl, string apiPath) _definition = new IndexerDefinition { Name = "Indexer", + EnableRss = true, ConfigContract = "TorznabSettings", Settings = torznabSettings }; diff --git a/src/NzbDrone.Core/HealthCheck/Checks/IndexerJackettAllCheck.cs b/src/NzbDrone.Core/HealthCheck/Checks/IndexerJackettAllCheck.cs index e73c066ac..2e8711282 100644 --- a/src/NzbDrone.Core/HealthCheck/Checks/IndexerJackettAllCheck.cs +++ b/src/NzbDrone.Core/HealthCheck/Checks/IndexerJackettAllCheck.cs @@ -8,6 +8,7 @@ namespace NzbDrone.Core.HealthCheck.Checks { + [CheckOn(typeof(ProviderAddedEvent))] [CheckOn(typeof(ProviderUpdatedEvent))] [CheckOn(typeof(ProviderDeletedEvent))] [CheckOn(typeof(ProviderStatusChangedEvent))] @@ -23,12 +24,15 @@ public IndexerJackettAllCheck(IIndexerFactory providerFactory, ILocalizationServ public override HealthCheck Check() { - var jackettAllProviders = _providerFactory.All().Where( - i => i.ConfigContract.Equals("TorznabSettings") && - ((i.Settings as TorznabSettings).BaseUrl.Contains("/torznab/all/api", StringComparison.InvariantCultureIgnoreCase) || - (i.Settings as TorznabSettings).BaseUrl.Contains("/api/v2.0/indexers/all/results/torznab", StringComparison.InvariantCultureIgnoreCase) || - (i.Settings as TorznabSettings).ApiPath.Contains("/torznab/all/api", StringComparison.InvariantCultureIgnoreCase) || - (i.Settings as TorznabSettings).ApiPath.Contains("/api/v2.0/indexers/all/results/torznab", StringComparison.InvariantCultureIgnoreCase))); + var jackettAllProviders = _providerFactory.All() + .Where( + i => i.Enable && + i.ConfigContract.Equals("TorznabSettings") && + (((TorznabSettings)i.Settings).BaseUrl.Contains("/torznab/all/api", StringComparison.InvariantCultureIgnoreCase) || + ((TorznabSettings)i.Settings).BaseUrl.Contains("/api/v2.0/indexers/all/results/torznab", StringComparison.InvariantCultureIgnoreCase) || + ((TorznabSettings)i.Settings).ApiPath.Contains("/torznab/all/api", StringComparison.InvariantCultureIgnoreCase) || + ((TorznabSettings)i.Settings).ApiPath.Contains("/api/v2.0/indexers/all/results/torznab", StringComparison.InvariantCultureIgnoreCase))) + .ToArray(); if (jackettAllProviders.Empty()) { @@ -37,8 +41,7 @@ public override HealthCheck Check() return new HealthCheck(GetType(), HealthCheckResult.Warning, - string.Format(_localizationService.GetLocalizedString("IndexerJackettAll"), - string.Join(", ", jackettAllProviders.Select(i => i.Name))), + string.Format(_localizationService.GetLocalizedString("IndexerJackettAll"), string.Join(", ", jackettAllProviders.Select(i => i.Name))), "#jackett-all-endpoint-used"); } }