From bc53fab96623c91783360cd9d3abce12e6c4f38a Mon Sep 17 00:00:00 2001 From: Bogdan Date: Wed, 2 Aug 2023 14:54:01 +0300 Subject: [PATCH] Fixed: Don't fetch capabilities for disabled Newznab/Torznab indexers on create Also prevent NullRef in GetProxy since definition is null when using FetchCapabilities on add --- src/NzbDrone.Core/Indexers/IndexerFactory.cs | 6 +++--- src/NzbDrone.Core/Indexers/IndexerHttpClient.cs | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/NzbDrone.Core/Indexers/IndexerFactory.cs b/src/NzbDrone.Core/Indexers/IndexerFactory.cs index 4b85c68c1..8d711c95c 100644 --- a/src/NzbDrone.Core/Indexers/IndexerFactory.cs +++ b/src/NzbDrone.Core/Indexers/IndexerFactory.cs @@ -281,10 +281,10 @@ namespace NzbDrone.Core.Indexers SetProviderCharacteristics(provider, definition); - if (definition.Implementation is nameof(Newznab.Newznab) or nameof(Torznab.Torznab)) + if (definition.Enable && definition.Implementation is nameof(Newznab.Newznab) or nameof(Torznab.Torznab)) { var settings = (NewznabSettings)definition.Settings; - settings.Categories = _newznabCapabilitiesProvider.GetCapabilities(settings, definition)?.Categories.GetTorznabCategoryList() ?? null; + settings.Categories = _newznabCapabilitiesProvider.GetCapabilities(settings, definition)?.Categories.GetTorznabCategoryList(); } if (definition.Implementation == nameof(Cardigann)) @@ -304,7 +304,7 @@ namespace NzbDrone.Core.Indexers if (definition.Enable && definition.Implementation is nameof(Newznab.Newznab) or nameof(Torznab.Torznab)) { var settings = (NewznabSettings)definition.Settings; - settings.Categories = _newznabCapabilitiesProvider.GetCapabilities(settings, definition)?.Categories.GetTorznabCategoryList() ?? null; + settings.Categories = _newznabCapabilitiesProvider.GetCapabilities(settings, definition)?.Categories.GetTorznabCategoryList(); } if (definition.Implementation == nameof(Cardigann)) diff --git a/src/NzbDrone.Core/Indexers/IndexerHttpClient.cs b/src/NzbDrone.Core/Indexers/IndexerHttpClient.cs index bca05fc51..ca822e25b 100644 --- a/src/NzbDrone.Core/Indexers/IndexerHttpClient.cs +++ b/src/NzbDrone.Core/Indexers/IndexerHttpClient.cs @@ -53,7 +53,7 @@ namespace NzbDrone.Core.Indexers private IIndexerProxy GetProxy(ProviderDefinition definition) { // Skip DB call if no tags on the indexers - if (definition.Tags.Count == 0 && definition.Id > 0) + if (definition is { Id: > 0 } && definition.Tags.Count == 0) { return null; } @@ -61,7 +61,7 @@ namespace NzbDrone.Core.Indexers var proxies = _indexerProxyFactory.GetAvailableProviders(); var selectedProxy = proxies.FirstOrDefault(proxy => definition.Tags.Intersect(proxy.Definition.Tags).Any()); - if (selectedProxy == null && definition.Id == 0) + if (selectedProxy == null && definition is not { Id: not 0 }) { selectedProxy = proxies.FirstOrDefault(p => p is FlareSolverr); }