diff --git a/src/Jackett.Common/Indexers/Feeds/BaseNewznabIndexer.cs b/src/Jackett.Common/Indexers/Feeds/BaseNewznabIndexer.cs index e9ae824fc94c5..9e5296ed68863 100644 --- a/src/Jackett.Common/Indexers/Feeds/BaseNewznabIndexer.cs +++ b/src/Jackett.Common/Indexers/Feeds/BaseNewznabIndexer.cs @@ -65,6 +65,13 @@ protected virtual ReleaseInfo ResultFromFeedItem(XElement item) categoryids = new List { int.Parse(categories.Last(e => !string.IsNullOrEmpty(e.Value)).Value) }; else categoryids = new List { int.Parse(attributes.First(e => e.Attribute("name").Value == "category").Attribute("value").Value) }; + var imdb = long.TryParse(ReadAttribute(attributes, "imdb"), out longVal) ? (long?)longVal : null; + var imdbId = ReadAttribute(attributes, "imdbid"); + if (imdb == null && imdbId.StartsWith("tt")) + imdb = long.TryParse(imdbId.Substring(2), out longVal) ? (long?)longVal : null; + var rageId = long.TryParse(ReadAttribute(attributes, "rageid"), out longVal) ? (long?)longVal : null; + var tvdbId = long.TryParse(ReadAttribute(attributes, "tvdbid"), out longVal) ? (long?)longVal : null; + var tvMazeid = long.TryParse(ReadAttribute(attributes, "tvmazeid"), out longVal) ? (long?)longVal : null; var release = new ReleaseInfo { @@ -82,14 +89,18 @@ protected virtual ReleaseInfo ResultFromFeedItem(XElement item) Peers = peers, InfoHash = attributes.First(e => e.Attribute("name").Value == "infohash").Attribute("value").Value, DownloadVolumeFactor = downloadvolumefactor, - UploadVolumeFactor = uploadvolumefactor + UploadVolumeFactor = uploadvolumefactor, + Imdb = imdb, + RageID = rageId, + TVDBId = tvdbId, + TVMazeId = tvMazeid }; if (magneturi != null) release.MagnetUri = magneturi; return release; } - private string ReadAttribute(IEnumerable attributes, string attributeName) + protected string ReadAttribute(IEnumerable attributes, string attributeName) { var attribute = attributes.FirstOrDefault(e => e.Attribute("name").Value == attributeName); if (attribute == null)