From bc1e397ce355bff081536efc7faeae503252d2ba Mon Sep 17 00:00:00 2001 From: Qstick Date: Mon, 31 Jan 2022 12:10:16 -0600 Subject: [PATCH] Sync Indexers on app start, go to http if not sync'd yet --- .../IndexerDefinitionUpdateService.cs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/NzbDrone.Core/IndexerVersions/IndexerDefinitionUpdateService.cs b/src/NzbDrone.Core/IndexerVersions/IndexerDefinitionUpdateService.cs index 72cd5f817..54cff7492 100644 --- a/src/NzbDrone.Core/IndexerVersions/IndexerDefinitionUpdateService.cs +++ b/src/NzbDrone.Core/IndexerVersions/IndexerDefinitionUpdateService.cs @@ -8,7 +8,9 @@ using NzbDrone.Common.Disk; using NzbDrone.Common.EnvironmentInfo; using NzbDrone.Common.Http; using NzbDrone.Core.Indexers.Cardigann; +using NzbDrone.Core.Lifecycle; using NzbDrone.Core.Messaging.Commands; +using NzbDrone.Core.Messaging.Events; using YamlDotNet.Serialization; using YamlDotNet.Serialization.NamingConventions; @@ -21,7 +23,7 @@ namespace NzbDrone.Core.IndexerVersions List GetBlocklist(); } - public class IndexerDefinitionUpdateService : IIndexerDefinitionUpdateService, IExecute + public class IndexerDefinitionUpdateService : IIndexerDefinitionUpdateService, IExecute, IHandle { /* Update Service will fall back if version # does not exist for an indexer per Ta */ @@ -199,8 +201,10 @@ namespace NzbDrone.Core.IndexerVersions } } + var dbDefs = _versionService.All(); + //Check to ensure it's in versioned defs before we go to web - if (!_versionService.All().Any(x => x.File == fileKey)) + if (dbDefs.Count > 0 && dbDefs.Any(x => x.File == fileKey)) { throw new ArgumentNullException(nameof(fileKey)); } @@ -256,6 +260,12 @@ namespace NzbDrone.Core.IndexerVersions return definition; } + public void Handle(ApplicationStartedEvent message) + { + // Sync indexers on app start + UpdateLocalDefinitions(); + } + public void Execute(IndexerDefinitionUpdateCommand message) { UpdateLocalDefinitions();