funfile: handle disabled download links. resolves #7436 (#7620)

This commit is contained in:
Diego Heras 2020-03-12 05:34:07 +01:00 committed by GitHub
parent 96d23ca19a
commit e9851a1dbc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 21 deletions

View File

@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AngleSharp.Html.Parser;
@ -77,27 +78,16 @@ namespace Jackett.Common.Indexers
{
var releases = new List<ReleaseInfo>();
var searchString = query.GetQueryString();
var searchUrl = SearchUrl;
var queryCollection = new NameValueCollection();
queryCollection.Add("incldead", "1");
queryCollection.Add("showspam", "1");
if (!string.IsNullOrWhiteSpace(searchString))
var qc = new NameValueCollection
{
queryCollection.Add("search", searchString);
}
var cats = MapTorznabCapsToTrackers(query);
var cat = "0";
if (cats.Count == 1)
{
cat = cats[0];
}
queryCollection.Add("cat", cat);
searchUrl += "?" + queryCollection.GetQueryString();
{"incldead", "1"},
{"showspam", "1"},
{"cat", MapTorznabCapsToTrackers(query).FirstOrDefault() ?? "0"}
};
if (!string.IsNullOrWhiteSpace(query.GetQueryString()))
qc.Add("search", query.GetQueryString());
var searchUrl = SearchUrl + "?" + qc.GetQueryString();
var results = await RequestStringWithCookiesAndRetry(searchUrl);
// Occasionally the cookies become invalid, login again if that happens
@ -126,14 +116,17 @@ namespace Jackett.Common.Indexers
var qTimeAgo = row.QuerySelector("td:nth-of-type(6)");
var qSize = row.QuerySelector("td:nth-of-type(8)");
var catStr = qCatLink.GetAttribute("href").Split('=')[1].Split('&')[0];
release.Category = MapTrackerCatToNewznab(catStr);
if (qDownloadLink == null)
throw new Exception("Download links not found. Make sure you can download from the website.");
release.Link = new Uri(SiteLink + qDownloadLink.GetAttribute("href"));
release.Title = qDetailsLink.GetAttribute("title").Trim();
release.Comments = new Uri(SiteLink + qDetailsLink.GetAttribute("href"));
release.Guid = release.Link;
var catStr = qCatLink.GetAttribute("href").Split('=')[1].Split('&')[0];
release.Category = MapTrackerCatToNewznab(catStr);
var sizeStr = qSize.TextContent;
release.Size = ReleaseInfo.GetBytes(sizeStr);