mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 17:34:09 +02:00
Cardigann: Add support for IMDB
This commit is contained in:
@@ -18,6 +18,7 @@ using System.Text.RegularExpressions;
|
|||||||
using System.Web;
|
using System.Web;
|
||||||
using AngleSharp.Dom;
|
using AngleSharp.Dom;
|
||||||
using AngleSharp.Dom.Html;
|
using AngleSharp.Dom.Html;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace Jackett.Indexers
|
namespace Jackett.Indexers
|
||||||
{
|
{
|
||||||
@@ -122,6 +123,8 @@ namespace Jackett.Indexers
|
|||||||
public selectorBlock Dateheaders { get; set; }
|
public selectorBlock Dateheaders { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected readonly string[] OptionalFileds = new string[] { "imdb" };
|
||||||
|
|
||||||
public CardigannIndexer(IIndexerManagerService i, IWebClient wc, Logger l, IProtectionService ps)
|
public CardigannIndexer(IIndexerManagerService i, IWebClient wc, Logger l, IProtectionService ps)
|
||||||
: base(manager: i,
|
: base(manager: i,
|
||||||
client: wc,
|
client: wc,
|
||||||
@@ -820,10 +823,11 @@ namespace Jackett.Indexers
|
|||||||
// Parse fields
|
// Parse fields
|
||||||
foreach (var Field in Search.Fields)
|
foreach (var Field in Search.Fields)
|
||||||
{
|
{
|
||||||
string value = handleSelector(Field.Value, Row);
|
string value = null;
|
||||||
value = ParseUtil.NormalizeSpace(value);
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
value = handleSelector(Field.Value, Row);
|
||||||
|
value = ParseUtil.NormalizeSpace(value);
|
||||||
switch (Field.Key)
|
switch (Field.Key)
|
||||||
{
|
{
|
||||||
case "download":
|
case "download":
|
||||||
@@ -891,12 +895,20 @@ namespace Jackett.Indexers
|
|||||||
case "uploadvolumefactor":
|
case "uploadvolumefactor":
|
||||||
release.UploadVolumeFactor = ParseUtil.CoerceDouble(value);
|
release.UploadVolumeFactor = ParseUtil.CoerceDouble(value);
|
||||||
break;
|
break;
|
||||||
|
case "imdb":
|
||||||
|
Regex IMDBRegEx = new Regex(@"(\d+)", RegexOptions.Compiled);
|
||||||
|
var IMDBMatch = IMDBRegEx.Match(value);
|
||||||
|
var IMDBId = IMDBMatch.Groups[1].Value;
|
||||||
|
release.Imdb = ParseUtil.CoerceLong(IMDBId);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
if (OptionalFileds.Contains(Field.Key))
|
||||||
|
continue;
|
||||||
throw new Exception(string.Format("Error while parsing field={0}, selector={1}, value={2}: {3}", Field.Key, Field.Value.Selector, value, ex.Message));
|
throw new Exception(string.Format("Error while parsing field={0}, selector={1}, value={2}: {3}", Field.Key, Field.Value.Selector, value, ex.Message));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user