mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2025-09-17 17:14:18 +02:00
Rework some Cardigann exception handling
This commit is contained in:
@@ -10,6 +10,7 @@ using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using NzbDrone.Common.Extensions;
|
||||
using NzbDrone.Core.Configuration;
|
||||
using NzbDrone.Core.Indexers.Definitions.Cardigann.Exceptions;
|
||||
using NzbDrone.Core.Indexers.Exceptions;
|
||||
using NzbDrone.Core.Parser;
|
||||
using NzbDrone.Core.Parser.Model;
|
||||
@@ -67,7 +68,7 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
var parsedJson = JToken.Parse(results);
|
||||
if (parsedJson == null)
|
||||
{
|
||||
throw new Exception("Error Parsing Json Response");
|
||||
throw new IndexerException(indexerResponse, "Error Parsing Json Response");
|
||||
}
|
||||
|
||||
if (search.Rows.Count != null)
|
||||
@@ -85,7 +86,7 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
var rowsObj = parsedJson.SelectToken(search.Rows.Selector);
|
||||
if (rowsObj == null)
|
||||
{
|
||||
throw new Exception("Error Parsing Rows Selector");
|
||||
throw new IndexerException(indexerResponse, "Error Parsing Rows Selector");
|
||||
}
|
||||
|
||||
foreach (var row in rowsObj.Value<JArray>())
|
||||
@@ -140,7 +141,7 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
continue;
|
||||
}
|
||||
|
||||
throw new Exception(string.Format("Error while parsing field={0}, selector={1}, value={2}: {3}", field.Key, field.Value.Selector, value ?? "<null>", ex.Message));
|
||||
throw new CardigannException(string.Format("Error while parsing field={0}, selector={1}, value={2}: {3}", field.Key, field.Value.Selector, value ?? "<null>", ex.Message));
|
||||
}
|
||||
|
||||
var filters = search.Rows.Filters;
|
||||
@@ -327,7 +328,7 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
|
||||
if (value == null && dateHeaders.Optional == false)
|
||||
{
|
||||
throw new Exception(string.Format("No date header row found for {0}", release.ToString()));
|
||||
throw new CardigannException(string.Format("No date header row found for {0}", release.ToString()));
|
||||
}
|
||||
|
||||
if (value != null)
|
||||
|
@@ -12,6 +12,7 @@ using NLog;
|
||||
using NzbDrone.Common.Http;
|
||||
using NzbDrone.Core.Configuration;
|
||||
using NzbDrone.Core.Indexers.Definitions.Cardigann;
|
||||
using NzbDrone.Core.Indexers.Definitions.Cardigann.Exceptions;
|
||||
using NzbDrone.Core.IndexerSearch.Definitions;
|
||||
using NzbDrone.Core.Parser;
|
||||
using NzbDrone.Core.ThingiProvider;
|
||||
@@ -288,7 +289,7 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new Exception(string.Format("Error while parsing selector input={0}, selector={1}, value={2}: {3}", selectorinput.Key, selectorinput.Value.Selector, value, ex.Message));
|
||||
throw new CardigannException(string.Format("Error while parsing selector input={0}, selector={1}, value={2}: {3}", selectorinput.Key, selectorinput.Value.Selector, value, ex.Message));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -306,7 +307,7 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new Exception(string.Format("Error while parsing get selector input={0}, selector={1}, value={2}: {3}", selectorinput.Key, selectorinput.Value.Selector, value, ex.Message));
|
||||
throw new CardigannException(string.Format("Error while parsing get selector input={0}, selector={1}, value={2}: {3}", selectorinput.Key, selectorinput.Value.Selector, value, ex.Message));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -763,13 +764,13 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
var hash = MatchSelector(response, download.Infohash.Hash, variables);
|
||||
if (hash == null)
|
||||
{
|
||||
throw new Exception($"InfoHash selectors didn't match");
|
||||
throw new CardigannException($"InfoHash selectors didn't match");
|
||||
}
|
||||
|
||||
var title = MatchSelector(response, download.Infohash.Title, variables);
|
||||
if (title == null)
|
||||
{
|
||||
throw new Exception($"InfoHash selectors didn't match");
|
||||
throw new CardigannException($"InfoHash selectors didn't match");
|
||||
}
|
||||
|
||||
var magnet = MagnetLinkBuilder.BuildPublicMagnetLink(hash, title);
|
||||
@@ -846,7 +847,7 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
{
|
||||
_logger.Error("{0} CardigannIndexer ({1}): An exception occurred while trying selector {2}, retrying with next available selector", e, _definition.Id, queryselector);
|
||||
|
||||
throw new Exception(string.Format("An exception occurred while trying selector {0}", queryselector));
|
||||
throw new CardigannException(string.Format("An exception occurred while trying selector {0}", queryselector));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -888,7 +889,7 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
val = element.GetAttribute(selector.Attribute);
|
||||
if (val == null)
|
||||
{
|
||||
throw new Exception($"Attribute \"{selector.Attribute}\" is not set for element {element.ToHtmlPretty()}");
|
||||
throw new CardigannException($"Attribute \"{selector.Attribute}\" is not set for element {element.ToHtmlPretty()}");
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -909,7 +910,7 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
{
|
||||
var errormessage = "Got redirected to another domain. Try changing the indexer URL to " + domainHint + ".";
|
||||
|
||||
throw new Exception(errormessage);
|
||||
throw new CardigannException(errormessage);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@@ -1,9 +1,9 @@
|
||||
using NzbDrone.Common.Exceptions;
|
||||
using NzbDrone.Core.Indexers.Cardigann;
|
||||
|
||||
namespace NzbDrone.Core.Indexers.Definitions.Cardigann
|
||||
namespace NzbDrone.Core.Indexers.Definitions.Cardigann.Exceptions
|
||||
{
|
||||
public class CardigannConfigException : NzbDroneException
|
||||
public class CardigannConfigException : CardigannException
|
||||
{
|
||||
private readonly CardigannDefinition _configuration;
|
||||
|
@@ -0,0 +1,32 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using NzbDrone.Common.Exceptions;
|
||||
|
||||
namespace NzbDrone.Core.Indexers.Definitions.Cardigann.Exceptions
|
||||
{
|
||||
public class CardigannException : NzbDroneException
|
||||
{
|
||||
public CardigannException(string message)
|
||||
: base(message)
|
||||
{
|
||||
}
|
||||
|
||||
public CardigannException(string message, params object[] args)
|
||||
: base(message, args)
|
||||
{
|
||||
}
|
||||
|
||||
public CardigannException(string message, Exception innerException)
|
||||
: base(message, innerException)
|
||||
{
|
||||
}
|
||||
|
||||
public CardigannException(string message, Exception innerException, params object[] args)
|
||||
: base(message, innerException, args)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user