mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 17:34:09 +02:00
broadcasthenet: improve btn's search (#9680)
This commit is contained in:
@@ -89,27 +89,35 @@ namespace Jackett.Common.Indexers
|
|||||||
|
|
||||||
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
|
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
|
||||||
{
|
{
|
||||||
var searchString = query.GetQueryString();
|
var searchString = query.SearchTerm;
|
||||||
var btnResults = query.Limit;
|
var btnResults = query.Limit;
|
||||||
if (btnResults == 0)
|
if (btnResults == 0)
|
||||||
btnResults = (int)TorznabCaps.LimitsDefault;
|
btnResults = (int)TorznabCaps.LimitsDefault;
|
||||||
var btnOffset = query.Offset;
|
var btnOffset = query.Offset;
|
||||||
var releases = new List<ReleaseInfo>();
|
var releases = new List<ReleaseInfo>();
|
||||||
|
var searchParam = new Dictionary<string, string>();
|
||||||
|
|
||||||
// If only the season is searched for then change format to match expected format
|
// If only the season/episode is searched for then change format to match expected format
|
||||||
var seasonOnlyMatch = new Regex(@".*\s[Ss]{1}\d{2}(?<![Ee]{1}\d{2,3})?$").Match(searchString);
|
if (query.Season > 0 && query.Episode == null)
|
||||||
if (seasonOnlyMatch.Success)
|
|
||||||
{
|
{
|
||||||
searchString = Regex.Replace(searchString, @"[Ss]{1}\d{2}", $"Season {query.Season}");
|
searchParam["name"] = $"Season {query.Season}";
|
||||||
|
searchParam["category"] = "Season";
|
||||||
|
} else if (query.Season > 0 && int.Parse(query.Episode) > 0)
|
||||||
|
{
|
||||||
|
searchParam["name"] = string.Format("S{0:00}E{1:00}", query.Season, int.Parse(query.Episode));
|
||||||
|
searchParam["category"] = "Episode";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
searchParam["search"] = searchString.Replace(" ", "%");
|
||||||
|
|
||||||
var parameters = new JArray
|
var parameters = new JArray
|
||||||
{
|
{
|
||||||
new JValue(configData.Key.Value),
|
new JValue(configData.Key.Value),
|
||||||
new JValue(searchString.Trim()),
|
JObject.FromObject(searchParam),
|
||||||
new JValue(btnResults),
|
new JValue(btnResults),
|
||||||
new JValue(btnOffset)
|
new JValue(btnOffset)
|
||||||
};
|
};
|
||||||
|
|
||||||
var response = await RequestWithCookiesAndRetryAsync(
|
var response = await RequestWithCookiesAndRetryAsync(
|
||||||
APIBASE, method: RequestType.POST,
|
APIBASE, method: RequestType.POST,
|
||||||
headers: new Dictionary<string, string>
|
headers: new Dictionary<string, string>
|
||||||
|
Reference in New Issue
Block a user