core: rename comments field to details #10092 (#10135)

This commit is contained in:
Diego Heras 2020-11-08 03:11:27 +01:00 committed by GitHub
parent f0d8c88505
commit 2ea22af9ef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
138 changed files with 249 additions and 404 deletions

View File

@ -408,7 +408,7 @@
<td class="fit">{{jacketTimespan PublishDate}}</td>
<td class="fit">{{jacketTimespan FirstSeen}}</td>
<td class="fit">{{Tracker}}</td>
<td class="Title"><a href="{{Comments}}">{{Title}}</a> <span class="release-labels"></span></td>
<td class="Title"><a href="{{Details}}">{{Title}}</a> <span class="release-labels"></span></td>
<td class="fit">{{Size}}</td>
<td class="fit">{{jacketSize Size}}</td>
<td class="fit">{{Files}}</td>
@ -529,7 +529,7 @@
<td>{{PublishDate}}</td>
<td>{{jacketTimespan PublishDate}}</td>
<td>{{Tracker}}</td>
<td class="Title"><a href="{{Comments}}" target="_blank">{{Title}}</a> <span class="release-labels"></span></td>
<td class="Title"><a href="{{Details}}" target="_blank">{{Title}}</a> <span class="release-labels"></span></td>
<td>{{Size}}</td>
<td class="fit">{{jacketSize Size}}</td>
<td>{{Files}}</td>

View File

@ -118,9 +118,6 @@ search:
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
comments:
selector: a[href*="#comments"]
attribute: href
size:
selector: td:nth-last-child(4)
seeders:

View File

@ -110,9 +110,6 @@ search:
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
comments:
selector: a[href*="#comments"]
attribute: href
size:
selector: td:nth-last-child(4)
seeders:

View File

@ -117,9 +117,6 @@ search:
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
comments:
selector: a[href*="#comments"]
attribute: href
size:
selector: td:nth-last-child(4)
seeders:

View File

@ -104,9 +104,6 @@ search:
download:
selector: a[href*="download.php?id="]
attribute: href
comments:
selector: td:nth-child(4) a
attribute: href
size:
selector: td:nth-child(5)
grabs:

View File

@ -55,9 +55,6 @@ search:
attribute: href
files:
selector: td:nth-child(4)
comments:
selector: td:nth-child(5) a
attribute: href
date:
selector: td:nth-child(6)
filters:

View File

@ -112,9 +112,6 @@ search:
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
comments:
selector: a[href*="#comments"]
attribute: href
size:
selector: td:nth-last-child(4)
seeders:

View File

@ -120,9 +120,6 @@ search:
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
comments:
selector: a[href*="#comments"]
attribute: href
size:
selector: td:nth-last-child(4)
seeders:

View File

@ -112,9 +112,6 @@ search:
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
comments:
selector: a[href*="#comments"]
attribute: href
size:
selector: td:nth-last-child(4)
seeders:

View File

@ -120,9 +120,6 @@ search:
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
comments:
selector: a[href*="#comments"]
attribute: href
size:
selector: td:nth-last-child(4)
seeders:

View File

@ -136,9 +136,6 @@ search:
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
comments:
selector: a[href*="#comments"]
attribute: href
size:
selector: td:nth-last-child(4)
seeders:

View File

@ -134,7 +134,7 @@ search:
filters:
- name: querystring
args: cat
comments:
details:
selector: a[href^="/details.php"]:has(b)
attribute: href
files:

View File

@ -116,9 +116,6 @@ search:
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
comments:
selector: a[href*="#comments"]
attribute: href
size:
selector: td:nth-last-child(4)
seeders:

View File

@ -116,9 +116,6 @@ search:
args: ["No downloads yet", "0"]
- name: regexp
args: ([\d,]+)
comments:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href

View File

@ -63,7 +63,7 @@ search:
div.cats_tvseries: 3
div.cats_applications: 4
div.cats_xxx: 5
comments:
details:
selector: a[href^="torrents.php?id="]
attribute: href
imdb:

View File

@ -257,9 +257,6 @@ search:
details:
selector: a[href^="torrents.php?id="]
attribute: href
comments:
selector: a[href^="torrents.php?id="]
attribute: href
files:
selector: td:nth-child(3)
date:

View File

@ -116,7 +116,7 @@ search:
title:
selector: td:nth-child(3) > a
attribute: title
comments:
details:
selector: td:nth-child(3) > a
attribute: href
download:

View File

@ -129,9 +129,6 @@ search:
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
comments:
selector: a[href*="#comments"]
attribute: href
size:
selector: td:nth-last-child(4)
seeders:

View File

@ -262,9 +262,6 @@ search:
details:
selector: a[href^="torrents.php?id="]
attribute: href
comments:
selector: a[href^="torrents.php?id="]
attribute: href
files:
selector: td:nth-child(3)
date:

View File

@ -92,9 +92,6 @@ search:
download:
selector: td.descargar a
attribute: href
comments:
selector: td.foro a
attribute: href
description:
optional: true
selector: td.titulo a[class]

View File

@ -143,9 +143,6 @@ search:
download:
selector: a[href*="download.php?id="]
attribute: href
comments:
selector: td:nth-child(4) a
attribute: href
size:
selector: td:nth-child(5)
grabs:

View File

@ -151,9 +151,6 @@ search:
optional: true
selector: a[href*="imdb.com/title/tt"]
attribute: href
comments:
selector: td:nth-child(3) a
attribute: href
date:
# time type: time elapsed (default)
selector: td:nth-child(4) > span[title]

View File

@ -132,9 +132,6 @@ search:
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
comments:
selector: a[href*="#comments"]
attribute: href
size:
selector: td:nth-last-child(4)
seeders:

View File

@ -102,9 +102,6 @@ search:
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
comments:
selector: a[href*="#comments"]
attribute: href
size:
selector: td:nth-last-child(4)
seeders:

View File

@ -113,9 +113,6 @@ search:
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
comments:
selector: a[href*="#comments"]
attribute: href
size:
selector: td:nth-last-child(4)
seeders:

View File

@ -145,9 +145,6 @@ search:
magnet:
selector: a[href^="magnet:?xt="]
attribute: href
comments:
selector: td:nth-child(4) a
attribute: href
size:
selector: td:nth-child(5)
grabs:

View File

@ -117,9 +117,6 @@ search:
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
comments:
selector: a[href*="#comments"]
attribute: href
size:
selector: td:nth-last-child(4)
seeders:

View File

@ -138,9 +138,6 @@ search:
details:
selector: a[href^="torrents-details.php?id="]
attribute: href
comments:
selector: a[href^="comments.php?type=torrent&id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href

View File

@ -109,9 +109,6 @@ search:
poster:
selector: td.name > a.poster-preview img
attribute: src
comments:
selector: a[href*="#comments"]
attribute: href
download:
selector: td.name > div > a[href*="-torrent-"][title]
attribute: href

View File

@ -100,7 +100,7 @@ search:
filters:
- name: querystring
args: cat
comments:
details:
selector: td.tablea > table > tbody > tr:nth-child(2) > td:nth-child(4) > a
attribute: href
size:

View File

@ -161,9 +161,6 @@ search:
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
comments:
selector: a[href*="#comments"]
attribute: href
size:
selector: td:nth-last-child(4)
seeders:

View File

@ -111,9 +111,6 @@ search:
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
comments:
selector: a[href*="#comments"]
attribute: href
size:
selector: td:nth-last-child(4)
seeders:

View File

@ -112,10 +112,6 @@ search:
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
comments:
selector: a[href*="#comments"]
attribute: href
optional: true
imdb:
optional: true
selector: a[href*="imdb.com/title/tt"]

View File

@ -138,9 +138,6 @@ search:
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
comments:
selector: a[href*="#comments"]
attribute: href
size:
selector: td:nth-last-child(4)
seeders:

View File

@ -76,9 +76,6 @@ search:
details:
selector: td a[href^="details.php?id="]
attribute: href
comments:
selector: td a[href^="details.php?id="]
attribute: href
download:
selector: td a[href^="download.php?id="]
attribute: href

View File

@ -150,9 +150,6 @@ search:
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
comments:
selector: a[href*="#comments"]
attribute: href
size:
selector: td:nth-last-child(4)
seeders:

View File

@ -129,9 +129,6 @@ search:
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
comments:
selector: a[href*="#comments"]
attribute: href
size:
selector: td:nth-last-child(4)
seeders:

View File

@ -116,9 +116,6 @@ search:
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
comments:
selector: a[href*="#comments"]
attribute: href
size:
selector: td:nth-last-child(4)
seeders:

View File

@ -178,10 +178,6 @@ search:
filters:
- name: regexp
args: "src=\\\\'(.*?)\\\\'"
comments:
selector: td:nth-child(7) a
attribute: href
optional: true
download:
selector: a[href^="download.php"]
attribute: href

View File

@ -119,10 +119,6 @@ search:
filters:
- name: replace
args: ["https://theshinning.me/img/nocover.png", ""]
comments:
selector: a[href*="#comments"]
attribute: href
optional: true
imdb:
optional: true
selector: a[href*="imdb.com/title/tt"]

View File

@ -146,9 +146,6 @@ search:
- name: replace
args: ["y", "years"]
- name: timeago
comments:
selector: a[href*="#comments"]
attribute: href
size:
selector: td:nth-child(6)
seeders:

View File

@ -150,9 +150,6 @@ search:
details:
selector: a[title][href^="details.php"]
attribute: href
comments:
selector: a[href*="&tocomm="]
attribute: href
download:
selector: a[href^="download_ssl.php"]
attribute: href

View File

@ -122,9 +122,6 @@ search:
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
comments:
selector: a[href*="#comments"]
attribute: href
size:
selector: td:nth-last-child(4)
seeders:

View File

@ -127,12 +127,6 @@ search:
args: [" / 2x", ""]
- name: re_replace
args: [" / ", " "]
comments:
selector: a.torrent_name
attribute: href
filters:
- name: replace
args: ["\t", " "]
details:
selector: a.torrent_name
attribute: href

View File

@ -126,9 +126,6 @@ search:
details:
selector: a[href^="torrents-details.php?id="]
attribute: href
comments:
selector: a[href^="comments.php?type=torrent&id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href

View File

@ -294,10 +294,6 @@ search:
category:
# changed the catid into and hidden div as of last tracker problem
selector: ":nth-child(1) > div.hidden"
comments:
optional: true
selector: td:nth-child(1) > a[href$="#comments"]
attribute: href
download:
text: "https://{{ .Config.searchanddlurl }}/engine/download_torrent?id={{ .Result._id }}"
date:

View File

@ -302,10 +302,6 @@ search:
category:
# changed the catid into and hidden div as of last tracker problem
selector: ":nth-child(1) > div.hidden"
comments:
optional: true
selector: td:nth-child(1) > a[href$="#comments"]
attribute: href
download:
text: "https://{{ .Config.searchanddlurl }}/engine/download_torrent?id={{ .Result._id }}"
date:

View File

@ -34,9 +34,7 @@ namespace Jackett.Common.Indexers
{
private string LoginUrl => SiteLink + "login.php";
private string SearchUrl => SiteLink + "torrents.php";
private string TorrentCommentUrl => TorrentDescriptionUrl;
private string TorrentDescriptionUrl => SiteLink + "torrents.php?id=";
private string TorrentDownloadUrl => SiteLink + "torrents.php?action=download&id={id}&authkey={auth_key}&torrent_pass={torrent_pass}";
private string DetailsUrl => SiteLink + "torrents.php?id=";
private string ReplaceMulti => ConfigData.ReplaceMulti.Value;
private bool Latency => ConfigData.Latency.Value;
private bool DevMode => ConfigData.DevMode.Value;
@ -342,12 +340,8 @@ namespace Jackett.Common.Indexers
output("Released on: " + date);
// Torrent Details URL
var detailsLink = new Uri(TorrentDescriptionUrl + id);
output("Details: " + detailsLink.AbsoluteUri);
// Torrent Comments URL
var commentsLink = new Uri(TorrentCommentUrl + id);
output("Comments Link: " + commentsLink.AbsoluteUri);
var details = new Uri(DetailsUrl + id);
output("Details: " + details.AbsoluteUri);
// Torrent Download URL
Uri downloadLink = null;
@ -382,8 +376,8 @@ namespace Jackett.Common.Indexers
Peers = seeders + leechers,
PublishDate = date,
Size = size,
Guid = detailsLink,
Comments = commentsLink,
Guid = details,
Details = details,
Link = downloadLink,
MinimumRatio = 1,
MinimumSeedTime = 172800, // 48 hours

View File

@ -172,7 +172,7 @@ without this configuration the torrent download does not work.<br/>You can find
var jsonContent = JToken.Parse(response.ContentString);
foreach (var row in jsonContent.Value<JArray>("data"))
{
var comments = new Uri(row.Value<string>("url"));
var details = new Uri(row.Value<string>("url"));
var link = new Uri(row.Value<string>("download"));
var publishDate = DateTime.ParseExact(row.Value<string>("created_at"), "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
@ -210,8 +210,8 @@ without this configuration the torrent download does not work.<br/>You can find
Title = row.Value<string>("file_name"),
Link = link,
InfoHash = row.Value<string>("info_hash"),
Comments = comments,
Guid = comments,
Details = details,
Guid = details,
Category = cats,
PublishDate = publishDate,
Description = description,

View File

@ -100,7 +100,7 @@ namespace Jackett.Common.Indexers.Abstract
var release = new ReleaseInfo
{
Title = (string)r["release_name"],
Comments = new Uri((string)r["details_url"]),
Details = new Uri((string)r["details_url"]),
Link = new Uri((string)r["download_url"])
};
release.Guid = release.Link;

View File

@ -340,8 +340,8 @@ namespace Jackett.Common.Indexers.Abstract
release.Size = (long)torrent["size"];
release.Seeders = (int)torrent["seeders"];
release.Peers = (int)torrent["leechers"] + release.Seeders;
release.Comments = new Uri(DetailsUrl + torrentId);
release.Guid = release.Comments;
release.Details = new Uri(DetailsUrl + torrentId);
release.Guid = release.Details;
release.Link = new Uri(DownloadUrl + torrentId);
var category = (string)torrent["category"];
if (category == null || category.Contains("Select Category"))

View File

@ -122,7 +122,7 @@ namespace Jackett.Common.Indexers.Abstract
foreach (var row in rows)
{
var id = row.Value<string>("id");
var comments = new Uri($"{SiteLink}browse/{id}");
var details = new Uri($"{SiteLink}browse/{id}");
var link = new Uri($"{SiteLink}api/torrent/{id}/download");
var publishDate = DateTime.Parse(row.Value<string>("created_at"), CultureInfo.InvariantCulture);
var cat = row.Value<JToken>("category").Value<string>("id");
@ -141,8 +141,8 @@ namespace Jackett.Common.Indexers.Abstract
{
Title = row.Value<string>("name"),
Link = link,
Comments = comments,
Guid = comments,
Details = details,
Guid = details,
Category = MapTrackerCatToNewznab(cat),
PublishDate = publishDate,
Description = description,

View File

@ -241,7 +241,7 @@ namespace Jackett.Common.Indexers
{
Title = BuildReleaseTitle(baseTitle, tabNode),
Guid = guid,
Comments = uri,
Details = uri,
Link = GetReleaseLink(tabNode),
PublishDate = date,
Category = categories,

View File

@ -109,7 +109,7 @@ namespace Jackett.Common.Indexers
{
Title = composeTitle(r),
Poster = new Uri(Configuration.StaticLink.Value + r.poster.url),
Comments = new Uri(SiteLink + "/release/" + r.code + ".html"),
Details = new Uri(SiteLink + "/release/" + r.code + ".html"),
DownloadVolumeFactor = 0,
UploadVolumeFactor = 1,
Category = new []

View File

@ -199,8 +199,8 @@ namespace Jackett.Common.Indexers
release.Seeders = ParseIntValueFromRow(r, nameof(release.Seeders), "td:nth-child(9)");
release.Peers = ParseIntValueFromRow(r, nameof(release.Peers), "td:nth-child(10)") + release.Seeders;
release.Grabs = ParseIntValueFromRow(r, nameof(release.Grabs), "td:nth-child(11)");
release.Comments = ParseValueFromRow(r, nameof(release.Comments), "td:nth-child(3) a", (e) => GetAbsoluteUrl(e.Attributes["href"].Value));
release.Guid = release.Comments;
release.Details = ParseValueFromRow(r, nameof(release.Details), "td:nth-child(3) a", (e) => GetAbsoluteUrl(e.Attributes["href"].Value));
release.Guid = release.Details;
release.DownloadVolumeFactor = 0;
release.UploadVolumeFactor = 1;

View File

@ -273,8 +273,7 @@ namespace Jackett.Common.Indexers
var uploadTimeString = (string)torrent["UploadTime"];
var uploadTime = DateTime.ParseExact(uploadTimeString, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
var publishDate = DateTime.SpecifyKind(uploadTime, DateTimeKind.Utc).ToLocalTime();
var commentsLink = SiteLink + "torrent/" + torrentId + "/group";
var commentsLinkUri = new Uri(commentsLink);
var details = new Uri(SiteLink + "torrent/" + torrentId + "/group");
var size = (long)torrent["Size"];
var snatched = (long)torrent["Snatched"];
var seeders = (int)torrent["Seeders"];
@ -366,13 +365,13 @@ namespace Jackett.Common.Indexers
$"{title} {year} {releaseGroup}{infoString}" :
$"{releaseGroup}{title} {releaseInfo} {infoString}";
var guid = new Uri(commentsLinkUri + "&nh=" + StringUtil.Hash(title));
var guid = new Uri(details + "&nh=" + StringUtil.Hash(title));
var release = new ReleaseInfo
{
MinimumRatio = 1,
MinimumSeedTime = minimumSeedTime,
Title = releaseTitle,
Comments = commentsLinkUri,
Details = details,
Guid = guid,
Link = linkUri,
Poster = poster,

View File

@ -149,7 +149,7 @@ namespace Jackett.Common.Indexers
}
release.Guid = new Uri(qTitleLink.GetAttribute("href"));
release.Comments = release.Guid;
release.Details = release.Guid;
var dateString = row.QuerySelector("td:nth-of-type(5)").TextContent;
release.PublishDate = DateTime.ParseExact(dateString, "dd MMM yy", CultureInfo.InvariantCulture);
@ -161,10 +161,10 @@ namespace Jackett.Common.Indexers
}
else
{
// use comments link as placeholder
// use details link as placeholder
// null causes errors during export to torznab
// skipping the release prevents newbie users from adding the tracker (empty result)
release.Link = release.Comments;
release.Link = release.Details;
}
var sizeStr = row.QuerySelector("td:nth-of-type(6)").TextContent;

View File

@ -129,7 +129,7 @@ namespace Jackett.Common.Indexers
{
Title = composeBaseTitle(document),
Poster = new Uri(document.QuerySelector("div.widget__post-info__poster > a").Attributes["href"].Value),
Comments = uri,
Details = uri,
DownloadVolumeFactor = 0,
UploadVolumeFactor = 1,
Category = new[]{ TorznabCatType.TVAnime.ID }

View File

@ -116,7 +116,7 @@ namespace Jackett.Common.Indexers
var tags = row.QuerySelector("div.torrent_info").FirstChild.TextContent.Replace(" / ", " ").Trim();
var title = $"{qDetailsLink.TextContent} {year} {tags}";
var description = row.QuerySelector("div.tags").TextContent.Trim();
var comments = new Uri(SiteLink + qDetailsLink.GetAttribute("href"));
var details = new Uri(SiteLink + qDetailsLink.GetAttribute("href"));
var torrentId = qDetailsLink.GetAttribute("href").Split('=').Last();
var link = new Uri(SiteLink + "torrents.php?action=download&id=" + torrentId);
var posterStr = qDetailsLink.GetAttribute("data-cover");
@ -156,7 +156,7 @@ namespace Jackett.Common.Indexers
PublishDate = publishDate,
Category = category,
Link = link,
Comments = comments,
Details = details,
Guid = link,
Imdb = imdb,
Poster = poster,

View File

@ -166,7 +166,7 @@ namespace Jackett.Common.Indexers
var torrentId = torrent.FirstValue("id");
var groupId = torrent.FirstValue("groupid");
var comments = new Uri($"{TorrentUrl}?id={groupId}&torrentid={torrentId}");
var details = new Uri($"{TorrentUrl}?id={groupId}&torrentid={torrentId}");
var link = new Uri($"{TorrentUrl}?action=download&id={torrentId}&authkey={authkey}&torrent_pass={passkey}");
var publishDate = DateTime.Parse(torrent.FirstValue("time"));
@ -197,7 +197,7 @@ namespace Jackett.Common.Indexers
var release = new ReleaseInfo
{
Title = title.ToString(),
Comments = comments,
Details = details,
Link = link,
Guid = link,
PublishDate = publishDate,

View File

@ -175,8 +175,8 @@ namespace Jackett.Common.Indexers
release.Category = MapTrackerCatToNewznab(catStr);
var qDetails = row.Children[1].QuerySelector("a[title='View Torrent']");
release.Comments = new Uri(BaseUri + qDetails.GetAttribute("href"));
release.Guid = release.Comments;
release.Details = new Uri(BaseUri + qDetails.GetAttribute("href"));
release.Guid = release.Details;
var qDownload = row.Children[1].QuerySelector("a[title='Download']");
release.Link = new Uri(BaseUri + qDownload.GetAttribute("href"));

View File

@ -411,7 +411,7 @@ namespace Jackett.Common.Indexers
var size = qSize.TextContent;
release.Size = ReleaseInfo.GetBytes(size);
release.Link = new Uri(SiteLink + qDlLink.GetAttribute("href"));
release.Comments = new Uri(SiteLink + qDetailsLink.GetAttribute("href"));
release.Details = new Uri(SiteLink + qDetailsLink.GetAttribute("href"));
release.Guid = release.Link;
release.Grabs = ParseUtil.CoerceLong(qGrabs.TextContent);
release.Seeders = ParseUtil.CoerceInt(qSeeders.TextContent);
@ -539,7 +539,7 @@ namespace Jackett.Common.Indexers
release.Title += " " + extraInfo.TrimEnd();
release.Category = MapTrackerCatToNewznab(catStr);
release.Link = new Uri(SiteLink + qDlLink.GetAttribute("href"));
release.Comments = new Uri(SiteLink + qDetailsLink.GetAttribute("href"));
release.Details = new Uri(SiteLink + qDetailsLink.GetAttribute("href"));
release.Guid = release.Link;
release.Seeders = ParseUtil.CoerceInt(qSeeders.TextContent);
release.Peers = ParseUtil.CoerceInt(qLeechers.TextContent) + release.Seeders;

View File

@ -194,7 +194,7 @@ namespace Jackett.Common.Indexers
release.Category = currentCategories;
release.Description = row.QuerySelector("span.tags")?.TextContent;
release.Guid = new Uri(SiteLink + qTitleLink.GetAttribute("href"));
release.Comments = release.Guid;
release.Details = release.Guid;
release.Link = new Uri(SiteLink + row.QuerySelector(".peers a").GetAttribute("href"));

View File

@ -176,7 +176,7 @@ namespace Jackett.Common.Indexers
var titleLink = row.QuerySelector("table tbody tr:nth-of-type(1) td a:has(b)");
var dlLink = row.QuerySelector("td.tableb > a:has(img[title=\"Torrent herunterladen\"])");
release.Comments = new Uri(SiteLink + titleLink.GetAttribute("href").Replace("&hit=1", ""));
release.Details = new Uri(SiteLink + titleLink.GetAttribute("href").Replace("&hit=1", ""));
release.Link = new Uri(SiteLink + dlLink.GetAttribute("href"));
release.Title = titleLink.TextContent.Trim();

View File

@ -138,7 +138,7 @@ namespace Jackett.Common.Indexers
release.Files = ParseUtil.CoerceLong(row.Children[3].TextContent);
release.Grabs = ParseUtil.CoerceLong(row.Children[7].TextContent);
release.Guid = detailsLink;
release.Comments = release.Guid;
release.Details = release.Guid;
release.Link = new Uri(SiteLink + row.QuerySelector("a[href^=\"download.php\"]").GetAttribute("href"));
var catUrl = new Uri(SiteLink + row.Children[1].FirstElementChild.GetAttribute("href"));
var catQuery = HttpUtility.ParseQueryString(catUrl.Query);

View File

@ -158,12 +158,12 @@ namespace Jackett.Common.Indexers
descriptions.Add("Youtube Trailer: <a href=\"" + btnResult.YoutubeTrailer + "\">" + btnResult.YoutubeTrailer + "</a>");
var imdb = ParseUtil.GetImdbID(btnResult.ImdbID);
var link = new Uri(btnResult.DownloadURL);
var comments = new Uri($"{SiteLink}torrents.php?id={btnResult.GroupID}&torrentid={btnResult.TorrentID}");
var details = new Uri($"{SiteLink}torrents.php?id={btnResult.GroupID}&torrentid={btnResult.TorrentID}");
var publishDate = DateTimeUtil.UnixTimestampToDateTime(btnResult.Time);
var release = new ReleaseInfo
{
Category = MapTrackerCatToNewznab(btnResult.Resolution),
Comments = comments,
Details = details,
Guid = link,
Link = link,
MinimumRatio = 1,

View File

@ -1395,20 +1395,11 @@ namespace Jackett.Common.Indexers
break;
case "details":
var url = resolvePath(value, searchUrlUri);
release.Guid = url;
release.Comments = url;
release.Details = url;
if (release.Guid == null)
release.Guid = url;
value = url.ToString();
break;
case "comments":
var CommentsUrl = resolvePath(value, searchUrlUri);
if (release.Comments == null)
release.Comments = CommentsUrl;
if (release.Guid == null)
release.Guid = CommentsUrl;
value = CommentsUrl.ToString();
break;
case "title":
if (FieldModifiers.Contains("append"))
release.Title += value;

View File

@ -172,7 +172,7 @@ namespace Jackett.Common.Indexers
{
Title = title,
Link = link,
Comments = link,
Details = link,
Guid = link,
Category = new List<int> { TorznabCatType.MoviesHD.ID },
Poster = poster,

View File

@ -241,7 +241,7 @@ namespace Jackett.Common.Indexers
{
//https://corsaro.red/details/E5BB62E2E58C654F4450325046723A3F013CD7A4
var magnetUri = new Uri((string)torrent["magnet"]);
var comments = new Uri($"{SiteLink}details/{(string)torrent["hash"]}");
var details = new Uri($"{SiteLink}details/{(string)torrent["hash"]}");
var seeders = (int)torrent["seeders"];
var publishDate = torrent["last_updated"] != null
? DateTime.Parse((string)torrent["last_updated"])
@ -256,10 +256,10 @@ namespace Jackett.Common.Indexers
Seeders = seeders,
InfoHash = (string)torrent["hash"],
MagnetUri = magnetUri,
Comments = comments,
Details = details,
DownloadVolumeFactor = 0,
UploadVolumeFactor = 1,
Guid = comments,
Guid = details,
Peers = seeders + (int)torrent["leechers"],
PublishDate = publishDate,
Category = MapTrackerCatToNewznab(cat),

View File

@ -189,7 +189,7 @@ namespace Jackett.Common.Indexers
UploadVolumeFactor = 1,
InfoHash = infoHash, // magnet link is auto generated from infohash
Guid = detailsLink,
Comments = detailsLink,
Details = detailsLink,
Size = sizeMatch.Success ? ReleaseInfo.GetBytes(sizeMatch.Groups[1].Value) : 0
};
return release;

View File

@ -174,8 +174,8 @@ namespace Jackett.Common.Indexers
release.Files = row.numfiles;
release.Grabs = row.times_completed;
release.Comments = new Uri(SiteLink + "torrent/" + row.id.ToString() + "/");
release.Guid = release.Comments;
release.Details = new Uri(SiteLink + "torrent/" + row.id.ToString() + "/");
release.Guid = release.Details;
release.Link = new Uri(SiteLink + "api/v1/torrents/download/" + row.id.ToString());
if (row.frileech == 1)

View File

@ -179,9 +179,9 @@ namespace Jackett.Common.Indexers
bool matchWords)
{
var anchor = row.QuerySelector("a");
var commentsLink = anchor.GetAttribute("href");
var detailsStr = anchor.GetAttribute("href");
var title = anchor.TextContent.Trim();
var cat = commentsLink.Split('/')[3];
var cat = detailsStr.Split('/')[3];
var categories = MapTrackerCatToNewznab(cat);
var publishStr = row.QuerySelectorAll("td")[2].TextContent.Trim();
var publishDate = TryToParseDate(publishStr, DateTime.Now);
@ -197,24 +197,24 @@ namespace Jackett.Common.Indexers
// parsing is different for each category
if (cat == DivxTotalCategories.Series)
await ParseSeriesRelease(releases, query, commentsLink, cat, publishDate);
await ParseSeriesRelease(releases, query, detailsStr, cat, publishDate);
else if (query.Episode == null) // if it's scene series, we don't return other categories
{
if (cat == DivxTotalCategories.Peliculas || cat == DivxTotalCategories.PeliculasHd ||
cat == DivxTotalCategories.Peliculas3D || cat == DivxTotalCategories.PeliculasDvdr)
ParseMovieRelease(releases, query, title, commentsLink, cat, publishDate, sizeStr);
ParseMovieRelease(releases, query, title, detailsStr, cat, publishDate, sizeStr);
else
{
var size = TryToParseSize(sizeStr, DivxTotalFizeSizes.Otros);
GenerateRelease(releases, title, commentsLink, commentsLink, cat, publishDate, size);
GenerateRelease(releases, title, detailsStr, detailsStr, cat, publishDate, size);
}
}
}
private async Task ParseSeriesRelease(ICollection<ReleaseInfo> releases, TorznabQuery query,
string commentsLink, string cat, DateTime publishDate)
string detailsStr, string cat, DateTime publishDate)
{
var result = await RequestWithCookiesAsync(commentsLink);
var result = await RequestWithCookiesAsync(detailsStr);
if (result.Status != HttpStatusCode.OK)
throw new ExceptionWithConfigData(result.ContentString, configData);
@ -249,14 +249,14 @@ namespace Jackett.Common.Indexers
if (query.Episode != null && !episodeTitle.Contains(query.GetEpisodeSearchString()))
continue;
GenerateRelease(releases, episodeTitle, commentsLink, downloadLink, cat, episodePublish,
GenerateRelease(releases, episodeTitle, detailsStr, downloadLink, cat, episodePublish,
DivxTotalFizeSizes.Series);
}
}
}
private void ParseMovieRelease(ICollection<ReleaseInfo> releases, TorznabQuery query, string title,
string commentsLink, string cat, DateTime publishDate, string sizeStr)
string detailsStr, string cat, DateTime publishDate, string sizeStr)
{
// parse tags in title, we need to put the year after the real title (before the tags)
// La Maldicion ( HD-CAM)
@ -292,18 +292,18 @@ namespace Jackett.Common.Indexers
else
throw new Exception("Unknown category " + cat);
GenerateRelease(releases, title, commentsLink, commentsLink, cat, publishDate, size);
GenerateRelease(releases, title, detailsStr, detailsStr, cat, publishDate, size);
}
private void GenerateRelease(ICollection<ReleaseInfo> releases, string title, string commentsLink,
private void GenerateRelease(ICollection<ReleaseInfo> releases, string title, string detailsStr,
string downloadLink, string cat, DateTime publishDate, long size)
{
var link = new Uri(downloadLink);
var comments = new Uri(commentsLink);
var details = new Uri(detailsStr);
var release = new ReleaseInfo
{
Title = title,
Comments = comments,
Details = details,
Link = link,
Guid = link,
Category = MapTrackerCatToNewznab(cat),

View File

@ -213,7 +213,7 @@ namespace Jackett.Common.Indexers
var title = row.Children[1].QuerySelector("a").TextContent;
var qLinks = row.Children[2].QuerySelectorAll("a");
var link = new Uri(configData.TorrentHTTPSMode.Value ? qLinks[1].GetAttribute("href") : qLinks[0].GetAttribute("href"));
var comments = new Uri(row.Children[1].QuerySelector("a").GetAttribute("href"));
var details = new Uri(row.Children[1].QuerySelector("a").GetAttribute("href"));
var size = row.Children[4].TextContent;
var grabs = row.Children[5].QuerySelector("a").TextContent;
var seeders = ParseUtil.CoerceInt(row.Children[6].QuerySelector("a").TextContent);
@ -233,7 +233,7 @@ namespace Jackett.Common.Indexers
Category = MapTrackerCatToNewznab(cat),
Title = title,
Link = link,
Comments = comments,
Details = details,
Size = ReleaseInfo.GetBytes(size),
Seeders = seeders,
Grabs = ParseUtil.CoerceLong(grabs),

View File

@ -120,7 +120,7 @@ namespace Jackett.Common.Indexers
var poster = new Uri(row.QuerySelector("img[id=catalog]").GetAttribute("src"));
var qLink = row.QuerySelector("a");
var comments = new Uri(qLink.GetAttribute("href"));
var details = new Uri(qLink.GetAttribute("href"));
var qTooltip = parser.ParseDocument(qLink.GetAttribute("data-content"));
// we get the language from the last class tag => class="pull-right sprite idioma_5"
@ -134,9 +134,9 @@ namespace Jackett.Common.Indexers
var release = new ReleaseInfo
{
Title = title,
Comments = comments,
Link = comments,
Guid = comments,
Details = details,
Link = details,
Guid = details,
PublishDate = lastPublishDate,
Poster = poster,
Description = description,

View File

@ -54,7 +54,7 @@ namespace Jackett.Common.Indexers.Feeds
Title = item.FirstValue("title"),
Guid = new Uri(item.FirstValue("guid")),
Link = new Uri(item.FirstValue("link")),
Comments = new Uri(item.FirstValue("comments")),
Details = new Uri(item.FirstValue("comments")),
PublishDate = DateTime.Parse(item.FirstValue("pubDate")),
Category = new List<int> { int.Parse(attributes.First(e => e.Attribute("name").Value == "category").Attribute("value").Value) },
Size = size,

View File

@ -140,7 +140,7 @@ namespace Jackett.Common.Indexers
var release = new ReleaseInfo
{
Title = (string)row["name"],
Comments = detailsUri,
Details = detailsUri,
Link = link,
Category = MapTrackerCatDescToNewznab((string)row["category"]),
Size = (long)row["size"],

View File

@ -133,7 +133,7 @@ namespace Jackett.Common.Indexers
var qDetailsLink = row.QuerySelector("a[href^=\"details.php?id=\"]");
var title = qDetailsLink.GetAttribute("title").Trim();
var comments = new Uri(SiteLink + qDetailsLink.GetAttribute("href"));
var details = new Uri(SiteLink + qDetailsLink.GetAttribute("href"));
var qCatLink = row.QuerySelector("a[href^=\"browse.php?cat=\"]");
var catStr = qCatLink.GetAttribute("href").Split('=')[1].Split('&')[0];
@ -152,7 +152,7 @@ namespace Jackett.Common.Indexers
var release = new ReleaseInfo
{
Title = title,
Comments = comments,
Details = details,
Link = link,
Guid = link,
Category = MapTrackerCatToNewznab(catStr),

View File

@ -191,9 +191,9 @@ namespace Jackett.Common.Indexers
release.Seeders;
var fullSize = row.QuerySelector("td:nth-child(4)").TextContent;
release.Size = ReleaseInfo.GetBytes(fullSize);
release.Comments = new Uri(SiteLink + row.QuerySelector("a.threadlink[href]").GetAttribute("href"));
release.Details = new Uri(SiteLink + row.QuerySelector("a.threadlink[href]").GetAttribute("href"));
release.Link = new Uri(SiteLink + row.QuerySelector("a:has(div.dlimg)").GetAttribute("href"));
release.Guid = release.Comments;
release.Guid = release.Details;
//some releases have invalid poster URLs, ignore the posters in this case
if (Uri.TryCreate(row.QuerySelector("a[imgsrc]").GetAttribute("imgsrc"),
UriKind.Absolute, out var poster))

View File

@ -296,10 +296,11 @@ namespace Jackett.Common.Indexers
var publishDate = DateTime.SpecifyKind(
DateTime.ParseExact(Time, "MMM dd yyyy, HH:mm", CultureInfo.InvariantCulture),
DateTimeKind.Unspecified).ToLocalTime();
var comments = new Uri(SiteLink + qDetailsLink.GetAttribute("href"));
var details = new Uri(SiteLink + qDetailsLink.GetAttribute("href"));
var grabs = ParseUtil.CoerceLong(qGrabs.TextContent);
var leechers = ParseUtil.CoerceInt(qLeechers.TextContent);
var size = ReleaseInfo.GetBytes(sizeString);
var release = new ReleaseInfo
{
MinimumRatio = 1,
@ -307,7 +308,7 @@ namespace Jackett.Common.Indexers
Category = GroupCategory,
PublishDate = publishDate,
Size = size,
Comments = comments,
Details = details,
Link = link,
Guid = link,
Grabs = grabs,

View File

@ -164,7 +164,7 @@ namespace Jackett.Common.Indexers
var link = row.QuerySelector("td:nth-of-type(2) a:nth-of-type(1)");
release.Guid = new Uri(SiteLink + link.GetAttribute("href"));
release.Comments = release.Guid;
release.Details = release.Guid;
release.Title = link.TextContent.Trim();
release.Description = release.Title;

View File

@ -135,11 +135,11 @@ namespace Jackett.Common.Indexers
configData.Passkey.Value);
var seeders = (int)r["seeders"];
var publishDate = DateTimeUtil.UnixTimestampToDateTime((int)r["utadded"]);
var comments = new Uri(SiteLink + "details.php?id=" + (string)r["id"]);
var details = new Uri(SiteLink + "details.php?id=" + (string)r["id"]);
var release = new ReleaseInfo
{
Title = (string)r["name"],
Comments = comments,
Details = details,
Link = link,
Category = MapTrackerCatToNewznab((string)r["type_category"]),
Size = (long)r["size"],

View File

@ -152,8 +152,8 @@ namespace Jackett.Common.Indexers
var qLink = row.Children[1].FirstElementChild;
release.Title = qLink.TextContent.Trim();
release.Comments = new Uri(SiteLink + qLink.GetAttribute("href"));
release.Guid = release.Comments;
release.Details = new Uri(SiteLink + qLink.GetAttribute("href"));
release.Guid = release.Details;
var imdbLink = row.Children[1].QuerySelector("a[href*=imdb]");
if (imdbLink != null)

View File

@ -159,7 +159,7 @@ namespace Jackett.Common.Indexers
{
var mainLink = row.Children[2].QuerySelector("a");
var title = mainLink.TextContent;
var comments = new Uri(SiteLink + mainLink.GetAttribute("href"));
var details = new Uri(SiteLink + mainLink.GetAttribute("href"));
var posterMatch = _posterRegex.Match(mainLink.GetAttribute("onmouseover"));
var poster = posterMatch.Success ? new Uri(SiteLink + posterMatch.Groups[1].Value.Replace("\\", "/")) : null;
@ -221,8 +221,8 @@ namespace Jackett.Common.Indexers
var release = new ReleaseInfo
{
Title = title,
Comments = comments,
Guid = comments,
Details = details,
Guid = details,
Link = link,
PublishDate = publishDate,
Category = cat,

View File

@ -142,7 +142,7 @@ namespace Jackett.Common.Indexers
var titleParts = qTitle.TextContent.Split('/');
release.Title = titleParts.Length >= 2 ? titleParts[1].Trim() : titleParts[0].Trim();
var qDetailsLink = qTitle.QuerySelector("a[href^=\"details.php\"]");
release.Comments = new Uri(SiteLink + qDetailsLink.GetAttribute("href"));
release.Details = new Uri(SiteLink + qDetailsLink.GetAttribute("href"));
release.Link = new Uri(SiteLink + row.QuerySelector("a[href^=\"download.php\"]").GetAttribute("href"));
release.Guid = release.Link;
var dateString = row.QuerySelector("div:last-child").TextContent.Trim();

View File

@ -215,7 +215,7 @@ namespace Jackett.Common.Indexers
// drop invalid char that seems to have cropped up in some titles. #6582
var title = qTitleLink.TextContent.Trim().Replace("\u000f", "");
var comments = new Uri(SiteLink + qTitleLink.GetAttribute("href").TrimStart('/'));
var details = new Uri(SiteLink + qTitleLink.GetAttribute("href").TrimStart('/'));
var qLink = row.QuerySelector("a[href^=\"/download.php/\"]");
var link = new Uri(SiteLink + qLink.GetAttribute("href").TrimStart('/'));
@ -251,8 +251,8 @@ namespace Jackett.Common.Indexers
var release = new ReleaseInfo
{
Title = title,
Comments = comments,
Guid = comments,
Details = details,
Guid = details,
Link = link,
PublishDate = publishDate,
Category = cat,

View File

@ -170,7 +170,7 @@ namespace Jackett.Common.Indexers
var qLink = row.QuerySelector("a[href*=\"download.php\"]");
release.Link = new Uri(qLink.GetAttribute("href"));
release.Guid = release.Link;
release.Comments = new Uri(qDetails.GetAttribute("href"));
release.Details = new Uri(qDetails.GetAttribute("href"));
// 07-22-2015 11:08 AM
var dateString = row.QuerySelectorAll("td:nth-of-type(2) div").Last().LastChild.TextContent.Trim();

View File

@ -23,7 +23,7 @@ namespace Jackett.Common.Indexers
public class InternetArchive : BaseWebIndexer
{
private string SearchUrl => SiteLink + "advancedsearch.php";
private string CommentsUrl => SiteLink + "details/";
private string DetailsUrl => SiteLink + "details/";
private string LinkUrl => SiteLink + "download/";
private string _sort;
@ -181,15 +181,15 @@ namespace Jackett.Common.Indexers
{
var id = GetFieldAs<string>("identifier", torrent);
var title = GetFieldAs<string>("title", torrent) ?? id;
var comments = new Uri(CommentsUrl + id);
var details = new Uri(DetailsUrl + id);
var btih = GetFieldAs<string>("btih", torrent);
var link = new Uri(LinkUrl + id + "/" + id + "_archive.torrent");
var release = new ReleaseInfo
{
Title = title,
Comments = comments,
Guid = comments,
Details = details,
Guid = details,
PublishDate = GetFieldAs<DateTime>("publicdate", torrent),
Category = MapTrackerCatToNewznab(GetFieldAs<string>("mediatype", torrent)),
Size = GetFieldAs<long>("item_size", torrent),

View File

@ -240,7 +240,7 @@ namespace Jackett.Common.Indexers
release.Link = new Uri(SiteLink + releaseDownloadDetails.GetAttribute("href"));
release.Guid = release.Link;
release.Comments = new Uri(SiteLink + albumNameNode.GetAttribute("href"));
release.Details = new Uri(SiteLink + albumNameNode.GetAttribute("href"));
// Aug 31 2020, 15:50
try

View File

@ -445,7 +445,7 @@ namespace Jackett.Common.Indexers
var playButton = document.QuerySelector("div.external-btn");
if (playButton != null && !playButton.ClassList.Contains("inactive"))
{
var comments = new Uri(url);
var details = new Uri(url);
var dateString = document.QuerySelector("div.title-block > div.details-pane > div.left-box").TextContent;
dateString = TrimString(dateString, "eng: ", " г."); // '... Дата выхода eng: 09 марта 2012 г. ...' -> '09 марта 2012'
@ -464,7 +464,7 @@ namespace Jackett.Common.Indexers
foreach (var release in episodeReleases)
{
release.Comments = comments;
release.Details = details;
release.PublishDate = date;
}
releases.AddRange(episodeReleases);
@ -526,14 +526,14 @@ namespace Jackett.Common.Indexers
var dateColumn = lastEpisode.QuerySelector("td.delta");
var date = DateFromEpisodeColumn(dateColumn);
var comments = new Uri(url); // Current season(-s) page url
var details = new Uri(url); // Current season(-s) page url
var urlDetails = new TrackerUrlDetails(seasonButton);
var seasonReleases = await FetchTrackerReleases(urlDetails);
foreach (var release in seasonReleases)
{
release.Comments = comments;
release.Details = details;
release.PublishDate = date;
}
@ -592,14 +592,14 @@ namespace Jackett.Common.Indexers
var link = dateColumn.GetAttribute("onclick"); // goTo('/series/Prison_Break/season_5/episode_9/',false)
link = TrimString(link, '\'', '\'');
var episodeUrl = SiteLink + link.TrimStart('/');
var comments = new Uri(episodeUrl);
var details = new Uri(episodeUrl);
var urlDetails = new TrackerUrlDetails(playButton);
var episodeReleases = await FetchTrackerReleases(urlDetails);
foreach (var release in episodeReleases)
{
release.Comments = comments;
release.Details = details;
release.PublishDate = date;
}
releases.AddRange(episodeReleases);

View File

@ -118,7 +118,7 @@ namespace Jackett.Common.Indexers
var release = new ReleaseInfo
{
Title = torrent.name,
Comments = new Uri($"{TorrentsUrl}/{torrent.infoHash}"),
Details = new Uri($"{TorrentsUrl}/{torrent.infoHash}"),
Guid = details,
InfoHash = torrent.infoHash,
PublishDate = publishDate,

View File

@ -147,9 +147,9 @@ namespace Jackett.Common.Indexers
var doc = searchResultParser.ParseDocument(result.ContentString);
var container = doc.QuerySelector("#main_table_center_center1 table div");
var parsedCommentsLink = new List<string>();
var parsedDetailsLink = new List<string>();
string rowTitle = null;
string rowCommentsLink = null;
string rowDetailsLink = null;
string rowPublishDate = null;
string rowQuality = null;
@ -157,7 +157,7 @@ namespace Jackett.Common.Indexers
if (row.TagName.Equals("A"))
{
rowTitle = row.TextContent;
rowCommentsLink = SiteLink + row.GetAttribute("href");
rowDetailsLink = SiteLink + row.GetAttribute("href");
}
else if (rowPublishDate == null && row.TagName.Equals("SPAN"))
rowPublishDate = row.TextContent;
@ -165,17 +165,17 @@ namespace Jackett.Common.Indexers
rowQuality = row.TextContent;
else if (row.TagName.Equals("BR"))
{
// we add parsed items to parsedCommentsLink to avoid duplicates in newest torrents
// we add parsed items to rowDetailsLink to avoid duplicates in newest torrents
// list results
if (!parsedCommentsLink.Contains(rowCommentsLink))
if (!parsedDetailsLink.Contains(rowDetailsLink))
{
await ParseRelease(releases, rowTitle, rowCommentsLink, null,
await ParseRelease(releases, rowTitle, rowDetailsLink, null,
rowPublishDate, rowQuality, query, false);
parsedCommentsLink.Add(rowCommentsLink);
parsedDetailsLink.Add(rowDetailsLink);
}
// clean the current row
rowTitle = null;
rowCommentsLink = null;
rowDetailsLink = null;
rowPublishDate = null;
rowQuality = null;
}
@ -216,13 +216,13 @@ namespace Jackett.Common.Indexers
{
var link = row.QuerySelector("td a");
var rowTitle = link.TextContent;
var rowCommentsLink = SiteLink + link.GetAttribute("href").TrimStart('/');
var rowDetailsLink = SiteLink + link.GetAttribute("href").TrimStart('/');
var rowMejortorrentCat = row.QuerySelectorAll("td")[1].TextContent;
string rowQuality = null;
if (row.QuerySelector("td span") != null)
rowQuality = row.QuerySelector("td span").TextContent;
await ParseRelease(releases, rowTitle, rowCommentsLink, rowMejortorrentCat,
await ParseRelease(releases, rowTitle, rowDetailsLink, rowMejortorrentCat,
null, rowQuality, query, matchWords);
}
}
@ -235,7 +235,7 @@ namespace Jackett.Common.Indexers
return releases;
}
private async Task ParseRelease(ICollection<ReleaseInfo> releases, string title, string commentsLink,
private async Task ParseRelease(ICollection<ReleaseInfo> releases, string title, string detailsStr,
string mejortorrentCat, string publishStr, string quality, TorznabQuery query, bool matchWords)
{
// Remove trailing dot. Eg Harry Potter Y La Orden Del Fénix.
@ -243,7 +243,7 @@ namespace Jackett.Common.Indexers
if (title.EndsWith("."))
title = title.Remove(title.Length - 1).Trim();
var cat = GetMejortorrentCategory(mejortorrentCat, commentsLink, title);
var cat = GetMejortorrentCategory(mejortorrentCat, detailsStr, title);
if (cat == MejorTorrentCatType.Otro)
return; // skip releases from this category
@ -260,24 +260,24 @@ namespace Jackett.Common.Indexers
// parsing is different for each category
if (cat == MejorTorrentCatType.Serie || cat == MejorTorrentCatType.SerieHd)
await ParseSeriesRelease(releases, query, title, commentsLink, cat, publishDate);
await ParseSeriesRelease(releases, query, title, detailsStr, cat, publishDate);
else if (query.Episode == null) // if it's scene series, we don't return other categories
{
if (cat == MejorTorrentCatType.Pelicula)
ParseMovieRelease(releases, query, title, commentsLink, cat, publishDate, quality);
ParseMovieRelease(releases, query, title, detailsStr, cat, publishDate, quality);
else
{
const long size = 104857600L; // 100 MB
var release = GenerateRelease(title, commentsLink, commentsLink, cat, publishDate, size);
var release = GenerateRelease(title, detailsStr, detailsStr, cat, publishDate, size);
releases.Add(release);
}
}
}
private async Task ParseSeriesRelease(ICollection<ReleaseInfo> releases, TorznabQuery query, string title,
string commentsLink, string cat, DateTime publishDate)
string detailsStr, string cat, DateTime publishDate)
{
var result = await RequestWithCookiesAsync(commentsLink);
var result = await RequestWithCookiesAsync(detailsStr);
if (result.Status != HttpStatusCode.OK)
throw new ExceptionWithConfigData(result.ContentString, configData);
@ -309,14 +309,14 @@ namespace Jackett.Common.Indexers
if (episodeTitle.ToLower().Contains("720p"))
size = 1288490188L; // 1.2 GB
var release = GenerateRelease(episodeTitle, commentsLink, downloadLink, cat, episodePublish, size);
var release = GenerateRelease(episodeTitle, detailsStr, downloadLink, cat, episodePublish, size);
releases.Add(release);
}
}
private void ParseMovieRelease(ICollection<ReleaseInfo> releases, TorznabQuery query, string title,
string commentsLink, string cat, DateTime publishDate, string quality)
string detailsStr, string cat, DateTime publishDate, string quality)
{
title = title.Trim();
@ -370,19 +370,19 @@ namespace Jackett.Common.Indexers
else if (title.ToLower().Contains("bdremux"))
size = 21474836480L; // 20 GB
var release = GenerateRelease(title, commentsLink, commentsLink, cat, publishDate, size);
var release = GenerateRelease(title, detailsStr, detailsStr, cat, publishDate, size);
releases.Add(release);
}
private ReleaseInfo GenerateRelease(string title, string commentsLink, string downloadLink, string cat,
private ReleaseInfo GenerateRelease(string title, string detailsStr, string downloadLink, string cat,
DateTime publishDate, long size)
{
var link = new Uri(downloadLink);
var comments = new Uri(commentsLink);
var details = new Uri(detailsStr);
var release = new ReleaseInfo
{
Title = title,
Comments = comments,
Details = details,
Link = link,
Guid = link,
Category = MapTrackerCatToNewznab(cat),
@ -516,17 +516,17 @@ namespace Jackett.Common.Indexers
return newTitle;
}
private static string GetMejortorrentCategory(string mejortorrentCat, string commentsLink, string title)
private static string GetMejortorrentCategory(string mejortorrentCat, string detailsStr, string title)
{
// get root category
var cat = MejorTorrentCatType.Otro;
if (mejortorrentCat == null)
{
if (commentsLink.Contains("peliculas_extend"))
if (detailsStr.Contains("peliculas_extend"))
cat = MejorTorrentCatType.Pelicula;
else if (commentsLink.Contains("series_extend"))
else if (detailsStr.Contains("series_extend"))
cat = MejorTorrentCatType.Serie;
else if (commentsLink.Contains("musica_extend"))
else if (detailsStr.Contains("musica_extend"))
cat = MejorTorrentCatType.Musica;
}
else if (mejortorrentCat.Equals(MejorTorrentCatType.Pelicula) ||

View File

@ -121,15 +121,15 @@ namespace Jackett.Common.Indexers
foreach (var torrent in response.Torrents)
{
var link = new Uri($"{TorrentsEndpoint}/{torrent.Id}/torrent?{dlQueryParams.GetQueryString()}");
var comments = new Uri($"{SiteLink}browse/{torrent.Id}");
var details = new Uri($"{SiteLink}browse/{torrent.Id}");
var publishDate = DateTimeUtil.FromUnknown(torrent.CreatedAt);
var release = new ReleaseInfo
{
Title = torrent.ReleaseName,
Link = link,
Comments = comments,
Guid = comments,
Details = details,
Guid = details,
PublishDate = publishDate,
Category = MapTrackerCatToNewznab(torrent.Category.ToString()),
Size = torrent.Size,

View File

@ -29,7 +29,7 @@ namespace Jackett.Common.Indexers
private string LoginUrl => SiteLink + "login.php";
private string SearchUrl => SiteLink + "ajax.php?action=browse&searchstr=";
private string DownloadUrl => SiteLink + "torrents.php?action=download&id=";
private string CommentsUrl => SiteLink + "torrents.php?torrentid=";
private string DetailsUrl => SiteLink + "torrents.php?torrentid=";
private ConfigurationDataBasicLogin ConfigData => (ConfigurationDataBasicLogin)configData;
@ -283,7 +283,7 @@ namespace Jackett.Common.Indexers
var grabs = int.Parse(torrentData[1].TextContent, NumberStyles.AllowThousands, CultureInfo.InvariantCulture);
var seeders = int.Parse(torrentData[2].TextContent, NumberStyles.AllowThousands, CultureInfo.InvariantCulture);
var leechers = int.Parse(torrentData[3].TextContent, NumberStyles.AllowThousands, CultureInfo.InvariantCulture);
var comments = new Uri(CommentsUrl + torrentId);
var details = new Uri(DetailsUrl + torrentId);
var link = new Uri(DownloadUrl + torrentId);
return new ReleaseInfo
@ -299,8 +299,8 @@ namespace Jackett.Common.Indexers
Files = files,
Size = size,
Grabs = grabs,
Guid = comments,
Comments = comments,
Guid = details,
Details = details,
DownloadVolumeFactor = 0, // ratioless tracker
UploadVolumeFactor = 1
};

View File

@ -265,8 +265,8 @@ namespace Jackett.Common.Indexers
release.Category = MapTrackerCatToNewznab(category);
release.Link = new Uri(sitelink, "/tor/download.php?tid=" + id);
release.Comments = new Uri(sitelink, "/t/" + id);
release.Guid = release.Comments;
release.Details = new Uri(sitelink, "/t/" + id);
release.Guid = release.Details;
var dateStr = item.Value<string>("added");
var dateTime = DateTime.ParseExact(dateStr, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);

View File

@ -249,10 +249,8 @@ namespace Jackett.Common.Indexers
var downloadId = ParseUtil.GetArgumentFromQueryString(torrentLink, "id");
//Build site links
var baseLink = SiteLink + "torrents.php?action=details&id=" + downloadId;
var details = new Uri(SiteLink + "torrents.php?action=details&id=" + downloadId);
var downloadLink = SiteLink + "torrents.php?action=download&id=" + downloadId;
var commentsUri = new Uri(baseLink + "#comments");
var guidUri = new Uri(baseLink);
var linkUri = new Uri(QueryHelpers.AddQueryString(downloadLink, "key", key));
var seeders = ParseUtil.CoerceInt(row.QuerySelector(".box_s2 a").TextContent);
@ -283,8 +281,8 @@ namespace Jackett.Common.Indexers
DownloadVolumeFactor = 0,
UploadVolumeFactor = 1,
Link = linkUri,
Comments = commentsUri,
Guid = guidUri,
Details = details,
Guid = details,
Seeders = seeders,
Peers = leechers + seeders,
Imdb = imdbId,

View File

@ -128,8 +128,8 @@ namespace Jackett.Common.Indexers
var posterStr = row.QuerySelector("img")?.GetAttribute("src");
var poster = !string.IsNullOrWhiteSpace(posterStr) ? new Uri(posterStr) : null;
var commentsUri = new Uri(SiteLink + row.QuerySelector("a[data-src]").GetAttribute("href"));
var linkUri = new Uri(SiteLink + row.QuerySelector("a[href*='action=download']").GetAttribute("href"));
var details = new Uri(SiteLink + row.QuerySelector("a[data-src]").GetAttribute("href"));
var link = new Uri(SiteLink + row.QuerySelector("a[href*='action=download']").GetAttribute("href"));
var qColSize = row.QuerySelector("td:nth-child(3)");
var size = ReleaseInfo.GetBytes(qColSize.Children[0].TextContent);
@ -149,9 +149,9 @@ namespace Jackett.Common.Indexers
var release = new ReleaseInfo
{
Title = title,
Guid = commentsUri,
Comments = commentsUri,
Link = linkUri,
Guid = details,
Details = details,
Link = link,
Category = new List<int> { TvCategoryParser.ParseTvShowQuality(title) },
Size = size,
Files = files,

View File

@ -665,7 +665,7 @@ namespace Jackett.Common.Indexers
result.Title = FixedTitle(result, quality, language);
result.Link = new Uri(detailsUrl);
result.Guid = result.Link;
result.Comments = result.Link;
result.Details = result.Link;
result.PublishDate = publishDate;
result.Poster = new Uri(poster);
result.Seeders = 1;

View File

@ -211,7 +211,7 @@ namespace Jackett.Common.Indexers
var dateGerman = DateTime.SpecifyKind(DateTime.ParseExact(dateStr, "dd.MM.yyyy HH:mm:ss", CultureInfo.InvariantCulture), DateTimeKind.Unspecified);
var pubDateUtc = TimeZoneInfo.ConvertTimeToUtc(dateGerman, germanyTz);
var files = ParseUtil.CoerceInt(row.QuerySelector("td:contains(Datei) > strong ~ strong").TextContent);
var comments = new Uri(SiteLink + qDetailsLink.GetAttribute("href"));
var details = new Uri(SiteLink + qDetailsLink.GetAttribute("href"));
var leechers = ParseUtil.CoerceInt(qLeechers.Text());
var size = ReleaseInfo.GetBytes(qSize.TextContent.Replace(".", "").Replace(",", "."));
var downloadVolumeFactor = row.QuerySelector("img[title=\"OnlyUpload\"]") != null ? 0 : 1;
@ -222,7 +222,7 @@ namespace Jackett.Common.Indexers
Title = title,
Category = MapTrackerCatToNewznab(catStr),
Link = link,
Comments = comments,
Details = details,
Guid = link,
Size = size,
Seeders = seeders,

View File

@ -30,8 +30,7 @@ namespace Jackett.Common.Indexers
private string LoginUrl => SiteLink + "login.php";
private string LoginCheckUrl => SiteLink + "takelogin.php";
private string SearchUrl => SiteLink + "browse.php";
private string TorrentCommentUrl => SiteLink + "details.php?id={id}&comonly=1#page1";
private string TorrentDescriptionUrl => SiteLink + "details.php?id={id}";
private string TorrentDetailsUrl => SiteLink + "details.php?id={id}";
private string TorrentDownloadUrl => SiteLink + "download.php?id={id}&passkey={passkey}";
private bool Latency => ConfigData.Latency.Value;
private bool DevMode => ConfigData.DevMode.Value;
@ -359,12 +358,8 @@ namespace Jackett.Common.Indexers
Output("Released on: " + date);
// Torrent Details URL
var detailsLink = new Uri(TorrentDescriptionUrl.Replace("{id}", id.ToString()));
Output("Details: " + detailsLink.AbsoluteUri);
// Torrent Comments URL
var commentsLink = new Uri(TorrentCommentUrl.Replace("{id}", id.ToString()));
Output("Comments Link: " + commentsLink.AbsoluteUri);
var details = new Uri(TorrentDetailsUrl.Replace("{id}", id.ToString()));
Output("Details: " + details.AbsoluteUri);
// Torrent Download URL
var passkey = row.QuerySelector("td:nth-of-type(2) > a:nth-of-type(2)").GetAttribute("href");
@ -383,8 +378,8 @@ namespace Jackett.Common.Indexers
Size = size,
Files = files,
Grabs = completed,
Guid = detailsLink,
Comments = commentsLink,
Guid = details,
Details = details,
Link = downloadLink,
MinimumRatio = 1,
MinimumSeedTime = 172800 // 48 hours

View File

@ -199,8 +199,8 @@ namespace Jackett.Common.Indexers
// Title and torrent link
release.Title = qDetailsLink.TextContent;
release.Comments = new Uri(SiteLink + qDetailsLink.GetAttribute("href").TrimStart('/'));
release.Guid = release.Comments;
release.Details = new Uri(SiteLink + qDetailsLink.GetAttribute("href").TrimStart('/'));
release.Guid = release.Details;
// Date of torrent creation
var liopis = Row.QuerySelector("div.listeklink div span.middle");

Some files were not shown because too many files have changed in this diff Show More