Lidarr/src/NzbDrone.Core/Indexers/EzrssTorrentRssParser.cs

64 lines
1.6 KiB
C#
Raw Normal View History

using System;
using System.Linq;
using System.Xml.Linq;
2014-11-24 23:16:29 +00:00
using NzbDrone.Common.Extensions;
namespace NzbDrone.Core.Indexers
{
public class EzrssTorrentRssParser : TorrentRssParser
{
public EzrssTorrentRssParser()
{
UseGuidInfoUrl = true;
UseEnclosureLength = false;
UseEnclosureUrl = true;
}
protected override Int64 GetSize(XElement item)
{
2014-11-24 23:16:29 +00:00
var contentLength = item.FindDecendants("contentLength").SingleOrDefault();
if (contentLength != null)
{
return (Int64)contentLength;
}
return base.GetSize(item);
}
protected override String GetInfoHash(XElement item)
{
2014-11-24 23:16:29 +00:00
var infoHash = item.FindDecendants("infoHash").SingleOrDefault();
return (String)infoHash;
}
protected override String GetMagnetUrl(XElement item)
{
2014-11-24 23:16:29 +00:00
var magnetURI = item.FindDecendants("magnetURI").SingleOrDefault();
return (String)magnetURI;
}
protected override Int32? GetSeeders(XElement item)
{
2014-11-24 23:16:29 +00:00
var seeds = item.FindDecendants("seeds").SingleOrDefault();
if (seeds != null)
{
return (Int32)seeds;
}
return base.GetPeers(item);
}
protected override Int32? GetPeers(XElement item)
{
2014-11-24 23:16:29 +00:00
var peers = item.FindDecendants("peers").SingleOrDefault();
if (peers != null)
{
return (Int32)peers;
}
return base.GetPeers(item);
}
}
}