rewrite of indexer/episode search

This commit is contained in:
kay.one
2013-04-07 00:30:37 -07:00
parent 9ae21cf7a1
commit a6a4932b44
114 changed files with 2045 additions and 5577 deletions
@@ -0,0 +1,41 @@
using System;
using System.ServiceModel.Syndication;
using NzbDrone.Core.Model;
namespace NzbDrone.Core.Indexers.Newznab
{
public class NewznabParser : BasicRssParser
{
private readonly Newznab _newznabIndexer;
public NewznabParser(Newznab newznabIndexer)
{
_newznabIndexer = newznabIndexer;
}
protected override string GetNzbInfoUrl(SyndicationItem item)
{
return item.Id;
}
protected override EpisodeParseResult PostProcessor(SyndicationItem item, EpisodeParseResult currentResult)
{
if (currentResult != null)
{
if (item.Links.Count > 1)
currentResult.Size = item.Links[1].Length;
currentResult.Indexer = GetName(item);
}
return currentResult;
}
private string GetName(SyndicationItem item)
{
var hostname = item.Links[0].Uri.DnsSafeHost.ToLower();
return String.Format("{0}_{1}", _newznabIndexer.Name, hostname);
}
}
}