mirror of https://github.com/Jackett/Jackett
parent
d0dff67251
commit
cb2312273a
|
@ -20,8 +20,9 @@ namespace Jackett.Common.Indexers
|
||||||
public class ShowRSS : BaseWebIndexer
|
public class ShowRSS : BaseWebIndexer
|
||||||
{
|
{
|
||||||
private string SearchAllUrl => SiteLink + "other/all.rss";
|
private string SearchAllUrl => SiteLink + "other/all.rss";
|
||||||
|
private string BrowseUrl => SiteLink + "browse/";
|
||||||
public override string[] LegacySiteLinks { get; protected set; } = {
|
public override string[] LegacySiteLinks { get; protected set; } = {
|
||||||
"http://showrss.info/",
|
"http://showrss.info/"
|
||||||
};
|
};
|
||||||
|
|
||||||
private new ConfigurationData configData => base.configData;
|
private new ConfigurationData configData => base.configData;
|
||||||
|
@ -54,8 +55,6 @@ namespace Jackett.Common.Indexers
|
||||||
return IndexerConfigurationStatus.RequiresTesting;
|
return IndexerConfigurationStatus.RequiresTesting;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Task<byte[]> Download(Uri link) => throw new NotImplementedException();
|
|
||||||
|
|
||||||
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
|
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
|
||||||
{
|
{
|
||||||
var releases = new List<ReleaseInfo>();
|
var releases = new List<ReleaseInfo>();
|
||||||
|
@ -68,44 +67,43 @@ namespace Jackett.Common.Indexers
|
||||||
xmlDoc.LoadXml(result.ContentString);
|
xmlDoc.LoadXml(result.ContentString);
|
||||||
foreach (XmlNode node in xmlDoc.GetElementsByTagName("item"))
|
foreach (XmlNode node in xmlDoc.GetElementsByTagName("item"))
|
||||||
{
|
{
|
||||||
//TODO revisit for refactoring
|
|
||||||
var title = node.SelectSingleNode(".//*[local-name()='raw_title']").InnerText;
|
var title = node.SelectSingleNode(".//*[local-name()='raw_title']").InnerText;
|
||||||
if ((!query.IsImdbQuery || !TorznabCaps.SupportsImdbMovieSearch) &&
|
if (!query.MatchQueryStringAND(title))
|
||||||
!query.MatchQueryStringAND(title))
|
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// Try to guess the category... I'm not proud of myself...
|
// guess category from title
|
||||||
var category = title.Contains("720p") ? TorznabCatType.TVHD.ID : TorznabCatType.TVSD.ID;
|
var category = title.Contains("720p") || title.Contains("1080p") ?
|
||||||
var test = node.SelectSingleNode("enclosure");
|
TorznabCatType.TVHD.ID :
|
||||||
var magnetUri = new Uri(node.SelectSingleNode("link").InnerText);
|
TorznabCatType.TVSD.ID;
|
||||||
|
|
||||||
|
var magnetUri = new Uri(node.SelectSingleNode("link")?.InnerText);
|
||||||
var publishDate = DateTime.Parse(node.SelectSingleNode("pubDate").InnerText, CultureInfo.InvariantCulture);
|
var publishDate = DateTime.Parse(node.SelectSingleNode("pubDate").InnerText, CultureInfo.InvariantCulture);
|
||||||
var infoHash = node.SelectSingleNode("description").InnerText;
|
var infoHash = node.SelectSingleNode(".//*[local-name()='info_hash']").InnerText;
|
||||||
//TODO Maybe use magnetUri instead? https://github.com/Jackett/Jackett/pull/7342#discussion_r397552678
|
var commentsUri = new Uri(BrowseUrl + node.SelectSingleNode(".//*[local-name()='show_id']").InnerText);
|
||||||
var guid = new Uri(test.Attributes["url"].Value);
|
|
||||||
var release = new ReleaseInfo
|
var release = new ReleaseInfo
|
||||||
{
|
{
|
||||||
MinimumRatio = 1,
|
|
||||||
MinimumSeedTime = 172800, // 48 hours
|
|
||||||
Title = title,
|
Title = title,
|
||||||
Comments = magnetUri,
|
Comments = commentsUri,
|
||||||
Category = new List<int> { category },
|
Category = new List<int> { category },
|
||||||
Guid = guid,
|
Guid = magnetUri,
|
||||||
PublishDate = publishDate,
|
PublishDate = publishDate,
|
||||||
Description = infoHash,
|
|
||||||
InfoHash = infoHash,
|
InfoHash = infoHash,
|
||||||
MagnetUri = magnetUri,
|
MagnetUri = magnetUri,
|
||||||
Size = 0,
|
Size = 0,
|
||||||
Seeders = 1,
|
Seeders = 1,
|
||||||
Peers = 2,
|
Peers = 2,
|
||||||
DownloadVolumeFactor = 0,
|
DownloadVolumeFactor = 0,
|
||||||
UploadVolumeFactor = 1
|
UploadVolumeFactor = 1,
|
||||||
|
MinimumRatio = 1,
|
||||||
|
MinimumSeedTime = 172800, // 48 hours
|
||||||
};
|
};
|
||||||
releases.Add(release);
|
releases.Add(release);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
OnParseError(result.ContentString, ex);
|
OnParseError(result.ContentString, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
return releases;
|
return releases;
|
||||||
|
|
Loading…
Reference in New Issue