mirror of
https://github.com/Prowlarr/Prowlarr
synced 2026-04-28 07:40:50 +02:00
Fixed: (Anime Tosho) Only include Releases which have a NZB (#351)
This commit is contained in:
parent
4cbd2cd8bc
commit
afa87b7113
2 changed files with 44 additions and 7 deletions
|
|
@ -1,6 +1,7 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml;
|
||||
using System.Xml.Linq;
|
||||
using NzbDrone.Common.Extensions;
|
||||
using NzbDrone.Core.Indexers.Exceptions;
|
||||
|
|
@ -80,6 +81,20 @@ protected override bool PostProcess(IndexerResponse indexerResponse, List<XEleme
|
|||
|
||||
protected override ReleaseInfo ProcessItem(XElement item, ReleaseInfo releaseInfo)
|
||||
{
|
||||
if (!item.Elements("enclosure").Any(e =>
|
||||
{
|
||||
var type = e.Attribute("type");
|
||||
if (type == null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return type.Value == "application/x-nzb";
|
||||
}))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
releaseInfo = base.ProcessItem(item, releaseInfo);
|
||||
releaseInfo.ImdbId = GetImdbId(item);
|
||||
releaseInfo.Grabs = GetGrabs(item);
|
||||
|
|
@ -151,7 +166,29 @@ protected override string GetDownloadUrl(XElement item)
|
|||
|
||||
if (!Uri.IsWellFormedUriString(url, UriKind.Absolute))
|
||||
{
|
||||
url = ParseUrl((string)item.Element("enclosure").Attribute("url"));
|
||||
var enclosure = item.Elements("enclosure");
|
||||
var filtered = enclosure.Where(e =>
|
||||
{
|
||||
var type = e.Attribute("type");
|
||||
if (type == null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return type.Value == "application/x-nzb";
|
||||
});
|
||||
|
||||
var xElements = filtered as XElement[] ?? filtered.ToArray();
|
||||
if (!xElements.Any())
|
||||
{
|
||||
return url;
|
||||
}
|
||||
|
||||
var attr = xElements.First().Attribute("url");
|
||||
if (attr != null)
|
||||
{
|
||||
url = attr.Value;
|
||||
}
|
||||
}
|
||||
|
||||
return url;
|
||||
|
|
|
|||
|
|
@ -82,12 +82,7 @@ public virtual IList<ReleaseInfo> ParseResponse(IndexerResponse indexerResponse)
|
|||
}
|
||||
}
|
||||
|
||||
if (!PostProcess(indexerResponse, items, releases))
|
||||
{
|
||||
return new List<ReleaseInfo>();
|
||||
}
|
||||
|
||||
return releases;
|
||||
return !PostProcess(indexerResponse, items, releases) ? new List<ReleaseInfo>() : releases;
|
||||
}
|
||||
|
||||
public Action<IDictionary<string, string>, DateTime?> CookiesUpdater { get; set; }
|
||||
|
|
@ -147,6 +142,11 @@ protected ReleaseInfo ProcessItem(XElement item)
|
|||
|
||||
releaseInfo = ProcessItem(item, releaseInfo);
|
||||
|
||||
if (releaseInfo == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
_logger.Trace("Parsed: {0}", releaseInfo.Title);
|
||||
|
||||
return PostProcessItem(item, releaseInfo);
|
||||
|
|
|
|||
Loading…
Reference in a new issue