mirror of https://github.com/Jackett/Jackett
parent
f0d8c88505
commit
2ea22af9ef
|
@ -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>
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -134,7 +134,7 @@ search:
|
|||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
comments:
|
||||
details:
|
||||
selector: a[href^="/details.php"]:has(b)
|
||||
attribute: href
|
||||
files:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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"]
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"]
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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 []
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 }
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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"));
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"));
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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"],
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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"],
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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) ||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
};
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
Loading…
Reference in New Issue