using System; using System.Linq; using System.Xml.Linq; 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) { var contentLength = item.FindDecendants("contentLength").SingleOrDefault(); if (contentLength != null) { return (Int64)contentLength; } return base.GetSize(item); } protected override String GetInfoHash(XElement item) { var infoHash = item.FindDecendants("infoHash").SingleOrDefault(); return (String)infoHash; } protected override String GetMagnetUrl(XElement item) { var magnetURI = item.FindDecendants("magnetURI").SingleOrDefault(); return (String)magnetURI; } protected override Int32? GetSeeders(XElement item) { var seeds = item.FindDecendants("seeds").SingleOrDefault(); if (seeds != null) { return (Int32)seeds; } return base.GetPeers(item); } protected override Int32? GetPeers(XElement item) { var peers = item.FindDecendants("peers").SingleOrDefault(); if (peers != null) { return (Int32)peers; } return base.GetPeers(item); } } }