anthelion: implement imdb and tmdb search. #7923 (#13195)

This commit is contained in:
Diego Heras
2022-04-24 21:11:49 +02:00
committed by GitHub
parent b7ac4af666
commit 86530ba35f

View File

@@ -44,7 +44,7 @@ namespace Jackett.Common.Indexers
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.TmdbId
}
},
configService: configService,
@@ -91,16 +91,21 @@ namespace Jackett.Common.Indexers
{
var releases = new List<ReleaseInfo>();
// TODO: IMDB search is available but it requires to parse the details page
var qc = new NameValueCollection
{
{ "order_by", "time" },
{ "order_way", "desc" },
{ "action", "basic" },
{ "searchsubmit", "1" },
{ "searchstr", query.IsImdbQuery ? query.ImdbID : query.GetQueryString() }
{ "searchsubmit", "1" }
};
if (query.IsImdbQuery)
qc.Add("imdb", query.ImdbID);
else if (query.IsTmdbQuery)
qc.Add("tmdb", query.TmdbID.ToString());
else
qc.Add("searchstr", query.GetQueryString());
var catList = MapTorznabCapsToTrackers(query);
foreach (var cat in catList)
qc.Add($"filter_cat[{cat}]", "1");
@@ -147,10 +152,12 @@ namespace Jackett.Common.Indexers
}
};
// TODO: TMDb is also available
var qImdb = row.QuerySelector("a[href^=\"https://www.imdb.com\"]");
var imdb = qImdb != null ? ParseUtil.GetImdbID(qImdb.GetAttribute("href").Split('/').Last()) : null;
qImdb = row.QuerySelector("a[href^=\"https://www.themoviedb.org\"]");
var tmdb = qImdb != null ? ParseUtil.GetLongFromString(qImdb.GetAttribute("href").Split('/').Last()) : null;
var release = new ReleaseInfo
{
MinimumRatio = 1,
@@ -163,6 +170,7 @@ namespace Jackett.Common.Indexers
Details = details,
Guid = link,
Imdb = imdb,
TMDb = tmdb,
Poster = poster,
Seeders = seeders,
Peers = leechers + seeders,