mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 17:34:09 +02:00
avistaz/privatehd: add support for searching by ImdbId/TmdbId/TvdbId (#14135)
This commit is contained in:
@@ -35,7 +35,9 @@ namespace Jackett.Common.Indexers.Abstract
|
||||
private new ConfigurationDataAvistazTracker configData => (ConfigurationDataAvistazTracker)base.configData;
|
||||
|
||||
// hook to adjust the search term
|
||||
protected virtual string GetSearchTerm(TorznabQuery query) => $"{query.SearchTerm} {query.GetEpisodeSearchString()}";
|
||||
protected virtual string GetSearchTerm(TorznabQuery query) => $"{query.SearchTerm} {GetEpisodeSearchTerm(query)}".Trim();
|
||||
|
||||
protected virtual string GetEpisodeSearchTerm(TorznabQuery query) => query.GetEpisodeSearchString().Trim();
|
||||
|
||||
// hook to adjust the search category
|
||||
protected virtual List<KeyValuePair<string, string>> GetSearchQueryParameters(TorznabQuery query)
|
||||
@@ -75,7 +77,20 @@ namespace Jackett.Common.Indexers.Abstract
|
||||
// https://privatehd.to/api/v1/jackett/torrents?tmdb=1234
|
||||
// https://privatehd.to/api/v1/jackett/torrents?tvdb=3653
|
||||
if (query.IsImdbQuery)
|
||||
{
|
||||
qc.Add("imdb", query.ImdbID);
|
||||
qc.Add("search", GetEpisodeSearchTerm(query));
|
||||
}
|
||||
else if (query.IsTmdbQuery)
|
||||
{
|
||||
qc.Add("tmdb", query.TmdbID.ToString());
|
||||
qc.Add("search", GetEpisodeSearchTerm(query));
|
||||
}
|
||||
else if (query.IsTvdbSearch)
|
||||
{
|
||||
qc.Add("tvdb", query.TvdbID.ToString());
|
||||
qc.Add("search", GetEpisodeSearchTerm(query));
|
||||
}
|
||||
else
|
||||
qc.Add("search", GetSearchTerm(query).Trim());
|
||||
|
||||
@@ -176,6 +191,7 @@ namespace Jackett.Common.Indexers.Abstract
|
||||
|
||||
var qc = GetSearchQueryParameters(query);
|
||||
var episodeSearchUrl = SearchUrl + "?" + qc.GetQueryString();
|
||||
|
||||
var response = await RequestWithCookiesAndRetryAsync(episodeSearchUrl, headers: GetSearchHeaders());
|
||||
if (response.Status == HttpStatusCode.Unauthorized || response.Status == HttpStatusCode.PreconditionFailed)
|
||||
{
|
||||
|
@@ -1,5 +1,6 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using Jackett.Common.Extensions;
|
||||
using Jackett.Common.Indexers.Abstract;
|
||||
using Jackett.Common.Models;
|
||||
using Jackett.Common.Services.Interfaces;
|
||||
@@ -23,13 +24,14 @@ namespace Jackett.Common.Indexers
|
||||
LimitsMax = 50,
|
||||
TvSearchParams = new List<TvSearchParam>
|
||||
{
|
||||
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.Genre
|
||||
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.TvdbId, TvSearchParam.Genre
|
||||
},
|
||||
MovieSearchParams = new List<MovieSearchParam>
|
||||
{
|
||||
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.Genre
|
||||
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.TmdbId, MovieSearchParam.Genre
|
||||
},
|
||||
SupportsRawSearch = true
|
||||
SupportsRawSearch = true,
|
||||
TvSearchImdbAvailable = true
|
||||
},
|
||||
configService: configService,
|
||||
client: wc,
|
||||
@@ -50,9 +52,9 @@ namespace Jackett.Common.Indexers
|
||||
}
|
||||
|
||||
// Avistaz has episodes without season. eg Running Man E323
|
||||
protected override string GetSearchTerm(TorznabQuery query) =>
|
||||
!string.IsNullOrWhiteSpace(query.Episode) && query.Season == 0 ?
|
||||
$"{query.SearchTerm} E{query.Episode}" :
|
||||
$"{query.SearchTerm} {query.GetEpisodeSearchString()}";
|
||||
protected override string GetEpisodeSearchTerm(TorznabQuery query) =>
|
||||
query.Season == 0 && query.Episode.IsNotNullOrWhiteSpace()
|
||||
? $"E{query.Episode}"
|
||||
: $"{query.GetEpisodeSearchString()}";
|
||||
}
|
||||
}
|
||||
|
@@ -23,12 +23,13 @@ namespace Jackett.Common.Indexers
|
||||
LimitsMax = 50,
|
||||
TvSearchParams = new List<TvSearchParam>
|
||||
{
|
||||
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.Genre
|
||||
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.TvdbId, TvSearchParam.Genre
|
||||
},
|
||||
MovieSearchParams = new List<MovieSearchParam>
|
||||
{
|
||||
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.Genre
|
||||
}
|
||||
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.TmdbId, MovieSearchParam.Genre
|
||||
},
|
||||
TvSearchImdbAvailable = true
|
||||
},
|
||||
configService: configService,
|
||||
client: wc,
|
||||
|
Reference in New Issue
Block a user