mirror of
https://github.com/Sonarr/Sonarr
synced 2024-12-26 09:47:39 +00:00
Fixed: Indexer testing
Omg now has a preprocessor to catch authentication issues Indexer testing works again, instead of always being successful
This commit is contained in:
parent
33ca71a745
commit
a8ca258ca4
3 changed files with 20 additions and 7 deletions
|
@ -2,7 +2,6 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using FluentValidation.Results;
|
||||
using NLog;
|
||||
using NzbDrone.Common;
|
||||
|
@ -186,9 +185,8 @@ namespace NzbDrone.Core.Indexers
|
|||
|
||||
protected virtual IList<ReleaseInfo> FetchPage(IndexerRequest request, IParseIndexerResponse parser)
|
||||
{
|
||||
var url = request.Url;
|
||||
|
||||
_logger.Debug("Downloading Feed " + request.Url);
|
||||
|
||||
var response = new IndexerResponse(request, _httpClient.Execute(request.HttpRequest));
|
||||
|
||||
return parser.ParseResponse(response).ToList();
|
||||
|
@ -201,12 +199,16 @@ namespace NzbDrone.Core.Indexers
|
|||
|
||||
protected virtual ValidationFailure TestConnection()
|
||||
{
|
||||
// TODO: This doesn't even work coz those exceptions get catched.
|
||||
try
|
||||
{
|
||||
var releases = FetchRecent();
|
||||
var parser = GetParser();
|
||||
var generator = GetRequestGenerator();
|
||||
var releases = FetchPage(generator.GetRecentRequests().First().First(), parser);
|
||||
|
||||
if (releases.Any()) return null;
|
||||
if (releases.Empty())
|
||||
{
|
||||
return new ValidationFailure("Url", "No results were returned from your indexer, please check your settings.");
|
||||
}
|
||||
}
|
||||
catch (ApiKeyException)
|
||||
{
|
||||
|
|
|
@ -45,7 +45,6 @@ namespace NzbDrone.Core.Indexers.Newznab
|
|||
return releaseInfo;
|
||||
}
|
||||
|
||||
|
||||
protected override String GetInfoUrl(XElement item)
|
||||
{
|
||||
return item.TryGetValue("comments").TrimEnd("#comments");
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Xml.Linq;
|
||||
using NzbDrone.Core.Indexers.Exceptions;
|
||||
|
||||
namespace NzbDrone.Core.Indexers.Omgwtfnzbs
|
||||
{
|
||||
|
@ -12,6 +14,16 @@ namespace NzbDrone.Core.Indexers.Omgwtfnzbs
|
|||
UseEnclosureLength = true;
|
||||
}
|
||||
|
||||
protected override bool PreProcess(IndexerResponse indexerResponse)
|
||||
{
|
||||
var xdoc = XDocument.Parse(indexerResponse.Content);
|
||||
var notice = xdoc.Descendants("notice").FirstOrDefault();
|
||||
|
||||
if (notice == null) return true;
|
||||
|
||||
throw new ApiKeyException(notice.Value);
|
||||
}
|
||||
|
||||
protected override string GetInfoUrl(XElement item)
|
||||
{
|
||||
//Todo: Me thinks I need to parse details to get this...
|
||||
|
|
Loading…
Reference in a new issue