Cardigann: Add support for IMDB

This commit is contained in:
kaso17 2016-12-05 15:09:43 +01:00
parent 412df7c6f6
commit 32fa8cf5fd
1 changed files with 14 additions and 2 deletions

View File

@ -18,6 +18,7 @@ using System.Text.RegularExpressions;
using System.Web;
using AngleSharp.Dom;
using AngleSharp.Dom.Html;
using System.Linq;
namespace Jackett.Indexers
{
@ -122,6 +123,8 @@ namespace Jackett.Indexers
public selectorBlock Dateheaders { get; set; }
}
protected readonly string[] OptionalFileds = new string[] { "imdb" };
public CardigannIndexer(IIndexerManagerService i, IWebClient wc, Logger l, IProtectionService ps)
: base(manager: i,
client: wc,
@ -820,10 +823,11 @@ namespace Jackett.Indexers
// Parse fields
foreach (var Field in Search.Fields)
{
string value = handleSelector(Field.Value, Row);
value = ParseUtil.NormalizeSpace(value);
string value = null;
try
{
value = handleSelector(Field.Value, Row);
value = ParseUtil.NormalizeSpace(value);
switch (Field.Key)
{
case "download":
@ -891,12 +895,20 @@ namespace Jackett.Indexers
case "uploadvolumefactor":
release.UploadVolumeFactor = ParseUtil.CoerceDouble(value);
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:
break;
}
}
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));
}
}