From 23e7c9d76a3edbc2d00751f3e7c3403203ab4d64 Mon Sep 17 00:00:00 2001 From: seeyabye <36906720+seeyabye@users.noreply.github.com> Date: Thu, 1 Oct 2020 02:34:37 +0900 Subject: [PATCH] broadcasthenet: improve btn's search (#9680) --- src/Jackett.Common/Indexers/BroadcasTheNet.cs | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/Jackett.Common/Indexers/BroadcasTheNet.cs b/src/Jackett.Common/Indexers/BroadcasTheNet.cs index ba28f0c67..32c0f2d85 100644 --- a/src/Jackett.Common/Indexers/BroadcasTheNet.cs +++ b/src/Jackett.Common/Indexers/BroadcasTheNet.cs @@ -89,27 +89,35 @@ namespace Jackett.Common.Indexers protected override async Task> PerformQuery(TorznabQuery query) { - var searchString = query.GetQueryString(); + var searchString = query.SearchTerm; var btnResults = query.Limit; if (btnResults == 0) btnResults = (int)TorznabCaps.LimitsDefault; var btnOffset = query.Offset; var releases = new List(); + var searchParam = new Dictionary(); - // If only the season is searched for then change format to match expected format - var seasonOnlyMatch = new Regex(@".*\s[Ss]{1}\d{2}(? 0 && query.Episode == null) { - 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 { new JValue(configData.Key.Value), - new JValue(searchString.Trim()), + JObject.FromObject(searchParam), new JValue(btnResults), new JValue(btnOffset) }; + var response = await RequestWithCookiesAndRetryAsync( APIBASE, method: RequestType.POST, headers: new Dictionary