1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2024-12-16 11:37:58 +02:00
Sonarr/NzbDrone.Core/Indexers/Newznab/NewznabParser.cs

38 lines
1.1 KiB
C#
Raw Normal View History

2013-04-07 10:30:37 +03:00
using System;
2013-08-06 05:45:57 +03:00
using System.Drawing;
using System.Linq;
using System.Xml.Linq;
using NzbDrone.Core.Parser.Model;
2013-04-07 10:30:37 +03:00
namespace NzbDrone.Core.Indexers.Newznab
{
public class NewznabParser : BasicRssParser
{
2013-08-06 05:45:57 +03:00
private static XNamespace NEWZNAB = "http://www.newznab.com/DTD/2010/feeds/attributes/";
2013-04-07 10:30:37 +03:00
private readonly Newznab _newznabIndexer;
public NewznabParser(Newznab newznabIndexer)
{
_newznabIndexer = newznabIndexer;
}
2013-08-06 05:45:57 +03:00
protected override string GetNzbInfoUrl(XElement item)
2013-04-07 10:30:37 +03:00
{
2013-08-06 05:45:57 +03:00
return item.Comments().Replace("#comments", "");
2013-04-07 10:30:37 +03:00
}
2013-08-06 05:45:57 +03:00
protected override ReportInfo PostProcessor(XElement item, ReportInfo currentResult)
2013-04-07 10:30:37 +03:00
{
if (currentResult != null)
{
2013-08-06 05:45:57 +03:00
var attributes = item.Elements(NEWZNAB + "attr");
var sizeElement = attributes.Single(e => e.Attribute("name").Value == "size");
2013-04-07 10:30:37 +03:00
2013-08-06 05:45:57 +03:00
currentResult.Size = Convert.ToInt64(sizeElement.Attribute("value").Value);
2013-04-07 10:30:37 +03:00
}
return currentResult;
}
}
}