Fixed: Ensure failing indexers are marked as failed when testing all

(cherry picked from commit b407eba61284d5fb855df6a2868805853aa6f448)
pull/1803/head
Bogdan 10 months ago
parent 8b1dd78300
commit 630a4ce800

@ -25,7 +25,7 @@ namespace NzbDrone.Core.Indexers.Newznab
public override bool SupportsPagination => true;
public override IndexerPrivacy Privacy => IndexerPrivacy.Private;
public override IndexerCapabilities Capabilities { get => GetCapabilitiesFromSettings(); protected set => base.Capabilities = value; }
public override int PageSize => _capabilitiesProvider.GetCapabilities(Settings, Definition).LimitsDefault.Value;
public override int PageSize => GetProviderPageSize();
public override IIndexerRequestGenerator GetRequestGenerator()
{
@ -209,5 +209,17 @@ namespace NzbDrone.Core.Indexers.Newznab
return new ValidationFailure(string.Empty, "Unable to connect to indexer, check the log above the ValidationFailure for more details");
}
}
private int GetProviderPageSize()
{
try
{
return _capabilitiesProvider.GetCapabilities(Settings, Definition).LimitsDefault.GetValueOrDefault(100);
}
catch
{
return 100;
}
}
}
}

@ -23,11 +23,9 @@ namespace NzbDrone.Core.Indexers.Torznab
public override bool FollowRedirect => true;
public override bool SupportsRedirect => true;
public override bool SupportsPagination => true;
public override IndexerPrivacy Privacy => IndexerPrivacy.Private;
public override int PageSize => _capabilitiesProvider.GetCapabilities(Settings, Definition).LimitsDefault.Value;
public override IndexerCapabilities Capabilities { get => GetCapabilitiesFromSettings(); protected set => base.Capabilities = value; }
public override int PageSize => GetProviderPageSize();
public override IIndexerRequestGenerator GetRequestGenerator()
{
@ -190,5 +188,17 @@ namespace NzbDrone.Core.Indexers.Torznab
return new ValidationFailure(string.Empty, "Unable to connect to indexer, check the log above the ValidationFailure for more details");
}
}
private int GetProviderPageSize()
{
try
{
return _capabilitiesProvider.GetCapabilities(Settings, Definition).LimitsDefault.GetValueOrDefault(100);
}
catch
{
return 100;
}
}
}
}

@ -256,10 +256,19 @@ namespace NzbDrone.Core.Indexers
{
var result = base.Test(definition);
if ((result == null || result.IsValid) && definition.Id != 0)
if (definition.Id == 0)
{
return result;
}
if (result == null || result.IsValid)
{
_indexerStatusService.RecordSuccess(definition.Id);
}
else
{
_indexerStatusService.RecordFailure(definition.Id);
}
return result;
}

Loading…
Cancel
Save