From e0d8d1883896c274d9c80d7dba7d0bdc0304848a Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Sat, 1 Mar 2014 20:05:35 -0800 Subject: [PATCH] Better logging when adding a new indexer and it fails --- src/NzbDrone.Api/Series/SeriesEditorModule.cs | 2 -- src/NzbDrone.Core/HealthCheck/Checks/IndexerCheck.cs | 2 -- src/NzbDrone.Core/Indexers/IndexerFactory.cs | 7 ++++++- src/NzbDrone.Core/Indexers/Newznab/NewznabPreProcessor.cs | 3 +-- src/NzbDrone.Core/Indexers/NewznabTestService.cs | 6 +++--- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/NzbDrone.Api/Series/SeriesEditorModule.cs b/src/NzbDrone.Api/Series/SeriesEditorModule.cs index 75a174b90..93e0ad810 100644 --- a/src/NzbDrone.Api/Series/SeriesEditorModule.cs +++ b/src/NzbDrone.Api/Series/SeriesEditorModule.cs @@ -1,6 +1,4 @@ using System.Collections.Generic; -using System.Diagnostics; -using System.Runtime.Remoting.Messaging; using Nancy; using NzbDrone.Api.Extensions; using NzbDrone.Api.Mapping; diff --git a/src/NzbDrone.Core/HealthCheck/Checks/IndexerCheck.cs b/src/NzbDrone.Core/HealthCheck/Checks/IndexerCheck.cs index b61f3c8ac..b4566bbf8 100644 --- a/src/NzbDrone.Core/HealthCheck/Checks/IndexerCheck.cs +++ b/src/NzbDrone.Core/HealthCheck/Checks/IndexerCheck.cs @@ -21,8 +21,6 @@ namespace NzbDrone.Core.HealthCheck.Checks return new HealthCheck(HealthCheckResultType.Error, "No indexers are enabled"); } - - if (enabled.All(i => i.SupportsSearching == false)) { return new HealthCheck(HealthCheckResultType.Warning, "Enabled indexers do not support searching"); diff --git a/src/NzbDrone.Core/Indexers/IndexerFactory.cs b/src/NzbDrone.Core/Indexers/IndexerFactory.cs index 02837f490..03d0450b7 100644 --- a/src/NzbDrone.Core/Indexers/IndexerFactory.cs +++ b/src/NzbDrone.Core/Indexers/IndexerFactory.cs @@ -17,7 +17,12 @@ namespace NzbDrone.Core.Indexers private readonly IIndexerRepository _providerRepository; private readonly INewznabTestService _newznabTestService; - public IndexerFactory(IIndexerRepository providerRepository, IEnumerable providers, IContainer container, IEventAggregator eventAggregator, INewznabTestService newznabTestService, Logger logger) + public IndexerFactory(IIndexerRepository providerRepository, + IEnumerable providers, + IContainer container, + IEventAggregator eventAggregator, + INewznabTestService newznabTestService, + Logger logger) : base(providerRepository, providers, container, eventAggregator, logger) { _providerRepository = providerRepository; diff --git a/src/NzbDrone.Core/Indexers/Newznab/NewznabPreProcessor.cs b/src/NzbDrone.Core/Indexers/Newznab/NewznabPreProcessor.cs index 4cd4d66c8..3ff151b8a 100644 --- a/src/NzbDrone.Core/Indexers/Newznab/NewznabPreProcessor.cs +++ b/src/NzbDrone.Core/Indexers/Newznab/NewznabPreProcessor.cs @@ -17,12 +17,11 @@ namespace NzbDrone.Core.Indexers.Newznab var code = Convert.ToInt32(error.Attribute("code").Value); var errorMessage = error.Attribute("description").Value; - if (code >= 100 && code <= 199) throw new ApiKeyException("Invalid API key"); if (!url.Contains("apikey=") && errorMessage == "Missing parameter") { - throw new ApiKeyException("Indexer requires and API key"); + throw new ApiKeyException("Indexer requires an API key"); } throw new NewznabException("Newznab error detected: {0}", errorMessage); diff --git a/src/NzbDrone.Core/Indexers/NewznabTestService.cs b/src/NzbDrone.Core/Indexers/NewznabTestService.cs index 9055aa5e7..ca982c405 100644 --- a/src/NzbDrone.Core/Indexers/NewznabTestService.cs +++ b/src/NzbDrone.Core/Indexers/NewznabTestService.cs @@ -48,11 +48,11 @@ namespace NzbDrone.Core.Indexers var apiKeyFailure = new ValidationFailure("ApiKey", "Invalid API Key"); throw new ValidationException(new List { apiKeyFailure }.ToArray()); } - catch (Exception) + catch (Exception ex) { - _logger.Warn("Indexer doesn't appear to be Newznab based"); + _logger.WarnException("Indexer doesn't appear to be Newznab based: " + ex.Message, ex); - var failure = new ValidationFailure("Url", "Invalid Newznab URL entered"); + var failure = new ValidationFailure("Url", "Invalid Newznab URL, check log for details"); throw new ValidationException(new List { failure }.ToArray()); } }