mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 17:34:09 +02:00
internetarchive: fix array category (#7158)
* internetarchive: fix array category * requested changes
This commit is contained in:
@@ -24,6 +24,7 @@ namespace Jackett.Common.Indexers
|
|||||||
private string SearchUrl => SiteLink + "advancedsearch.php";
|
private string SearchUrl => SiteLink + "advancedsearch.php";
|
||||||
private string CommentsUrl => SiteLink + "details/";
|
private string CommentsUrl => SiteLink + "details/";
|
||||||
private string LinkUrl => SiteLink + "download/";
|
private string LinkUrl => SiteLink + "download/";
|
||||||
|
|
||||||
private readonly NameValueCollection _trackers = new NameValueCollection
|
private readonly NameValueCollection _trackers = new NameValueCollection
|
||||||
{
|
{
|
||||||
{"tr", "udp://tracker.coppersurfer.tk:6969/announce"},
|
{"tr", "udp://tracker.coppersurfer.tk:6969/announce"},
|
||||||
@@ -32,6 +33,7 @@ namespace Jackett.Common.Indexers
|
|||||||
{"tr", "udp://tracker.internetwarriors.net:1337/announce"},
|
{"tr", "udp://tracker.internetwarriors.net:1337/announce"},
|
||||||
{"tr", "udp://open.demonii.si:1337/announce"}
|
{"tr", "udp://open.demonii.si:1337/announce"}
|
||||||
};
|
};
|
||||||
|
|
||||||
private string _sort;
|
private string _sort;
|
||||||
private string _order;
|
private string _order;
|
||||||
private bool _titleOnly;
|
private bool _titleOnly;
|
||||||
@@ -125,6 +127,7 @@ namespace Jackett.Common.Indexers
|
|||||||
searchTerm = query.SearchTerm + " AND " + searchTerm;
|
searchTerm = query.SearchTerm + " AND " + searchTerm;
|
||||||
sort = _order + _sort;
|
sort = _order + _sort;
|
||||||
}
|
}
|
||||||
|
|
||||||
var querycats = MapTorznabCapsToTrackers(query);
|
var querycats = MapTorznabCapsToTrackers(query);
|
||||||
if (querycats.Any())
|
if (querycats.Any())
|
||||||
searchTerm += " AND mediatype:(" + string.Join(" OR ", querycats) + ")";
|
searchTerm += " AND mediatype:(" + string.Join(" OR ", querycats) + ")";
|
||||||
@@ -140,9 +143,8 @@ namespace Jackett.Common.Indexers
|
|||||||
var fullSearchUrl = SearchUrl + "?" + qc.GetQueryString();
|
var fullSearchUrl = SearchUrl + "?" + qc.GetQueryString();
|
||||||
var result = await RequestStringWithCookiesAndRetry(fullSearchUrl);
|
var result = await RequestStringWithCookiesAndRetry(fullSearchUrl);
|
||||||
foreach (var torrent in ParseResponse(result))
|
foreach (var torrent in ParseResponse(result))
|
||||||
{
|
|
||||||
releases.Add(MakeRelease(torrent));
|
releases.Add(MakeRelease(torrent));
|
||||||
}
|
|
||||||
return releases;
|
return releases;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -168,29 +170,24 @@ namespace Jackett.Common.Indexers
|
|||||||
{
|
{
|
||||||
var release = new ReleaseInfo();
|
var release = new ReleaseInfo();
|
||||||
|
|
||||||
var id = (string)torrent["identifier"];
|
var title = GetFieldAs<string>("title", torrent);
|
||||||
var title = torrent["title"] is JArray ?
|
|
||||||
(string)((JArray)torrent["title"])[0] :
|
|
||||||
(string)torrent["title"];
|
|
||||||
|
|
||||||
release.Title = title;
|
release.Title = title;
|
||||||
|
|
||||||
|
var id = GetFieldAs<string>("identifier", torrent);
|
||||||
release.Comments = new Uri(CommentsUrl + id);
|
release.Comments = new Uri(CommentsUrl + id);
|
||||||
release.Guid = release.Comments;
|
release.Guid = release.Comments;
|
||||||
|
|
||||||
release.PublishDate = DateTime.Now;
|
release.PublishDate = GetFieldAs<DateTime>("publicdate", torrent);
|
||||||
if (torrent["publicdate"] != null)
|
release.Category = MapTrackerCatToNewznab(GetFieldAs<string>("mediatype", torrent));
|
||||||
release.PublishDate = DateTime.Parse((string)torrent["publicdate"]);
|
release.Size = GetFieldAs<long>("item_size", torrent);
|
||||||
|
|
||||||
release.Category = MapTrackerCatToNewznab((string)torrent["mediatype"]);
|
|
||||||
release.Size = (long)torrent["item_size"];
|
|
||||||
|
|
||||||
release.Seeders = 1;
|
release.Seeders = 1;
|
||||||
release.Peers = 2;
|
release.Peers = 2;
|
||||||
release.Grabs = (long)torrent["downloads"];
|
release.Grabs = GetFieldAs<long>("downloads", torrent);
|
||||||
|
|
||||||
|
var btih = GetFieldAs<string>("btih", torrent);
|
||||||
release.Link = new Uri(LinkUrl + id + "/" + id + "_archive.torrent");
|
release.Link = new Uri(LinkUrl + id + "/" + id + "_archive.torrent");
|
||||||
release.MagnetUri = GenerateMagnetLink((string)torrent["btih"], title);
|
release.MagnetUri = GenerateMagnetLink(btih, title);
|
||||||
release.InfoHash = (string)torrent["btih"];
|
release.InfoHash = btih;
|
||||||
|
|
||||||
release.MinimumRatio = 1;
|
release.MinimumRatio = 1;
|
||||||
release.MinimumSeedTime = 172800; // 48 hours
|
release.MinimumSeedTime = 172800; // 48 hours
|
||||||
@@ -205,5 +202,8 @@ namespace Jackett.Common.Indexers
|
|||||||
_trackers.Set("dn", title);
|
_trackers.Set("dn", title);
|
||||||
return new Uri("magnet:?xt=urn:btih:" + btih + "&" + _trackers.GetQueryString());
|
return new Uri("magnet:?xt=urn:btih:" + btih + "&" + _trackers.GetQueryString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static T GetFieldAs<T>(string field, JToken torrent) =>
|
||||||
|
torrent[field] is JArray array ? array.First.ToObject<T>() : torrent.Value<T>(field);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user