From b07543bff61dce8b59bc58d99a45c817b45b7d79 Mon Sep 17 00:00:00 2001 From: JigSaw Date: Sat, 8 May 2021 21:52:52 +0200 Subject: [PATCH] xthor: misc enhancements (#11695) * xthor: added categories dropping options (enabled, only for TMDB queries, disabled) - For TMDB queries by default * xthor: removed search parameter when no search term submitted. --- src/Jackett.Common/Indexers/Xthor.cs | 36 +++++++++++++++++++++------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/src/Jackett.Common/Indexers/Xthor.cs b/src/Jackett.Common/Indexers/Xthor.cs index 1f602ca05..f10f4b4b7 100644 --- a/src/Jackett.Common/Indexers/Xthor.cs +++ b/src/Jackett.Common/Indexers/Xthor.cs @@ -29,6 +29,7 @@ namespace Jackett.Common.Indexers private string WebRequestDelay => ((SingleSelectConfigurationItem)configData.GetDynamic("webRequestDelay")).Value; private int MaxPages => Convert.ToInt32(((SingleSelectConfigurationItem)configData.GetDynamic("maxPages")).Value); private bool MaxPagesBypassForTMDB => ((BoolConfigurationItem)configData.GetDynamic("maxPagesBypassForTMDB")).Value; + private int DropCategories => Convert.ToInt32(((SingleSelectConfigurationItem)configData.GetDynamic("dropCategories")).Value); private string MultiReplacement => ((StringConfigurationItem)configData.GetDynamic("multiReplacement")).Value; private bool SubReplacement => ((BoolConfigurationItem)configData.GetDynamic("subReplacement")).Value; private bool EnhancedAnimeSearch => ((BoolConfigurationItem)configData.GetDynamic("enhancedAnimeSearch")).Value; @@ -208,7 +209,7 @@ namespace Jackett.Common.Indexers { Value = "0" }; ConfigData.AddDynamic("specificLanguageAccent", ConfigSpecificLanguageAccent); - ConfigData.AddDynamic("advancedConfigurationWarning", new DisplayInfoConfigurationItem(string.Empty, "
Advanced Configuration
,

WARNING ! Be sure to read instructions before editing options bellow, you can drastically reduce performance of queries or have non-accurate results.


")); + ConfigData.AddDynamic("advancedConfigurationWarning", new DisplayInfoConfigurationItem(string.Empty, "
Advanced Configuration
,

WARNING ! Be sure to read instructions before editing options bellow, you can drastically reduce performance of queries or have non-accurate results.


")); var ConfigWebRequestDelay = new SingleSelectConfigurationItem("Which delay do you want to apply between each requests made to tracker ?", new Dictionary { @@ -235,6 +236,15 @@ namespace Jackett.Common.Indexers var ConfigMaxPagesBypassForTMDB = new BoolConfigurationItem("Do you want to bypass max pages for TMDB searches ? (Radarr) - Hard limit of 4") { Value = true }; ConfigData.AddDynamic("maxPagesBypassForTMDB", ConfigMaxPagesBypassForTMDB); + var ConfigDropCategories = new SingleSelectConfigurationItem("Drop requested categories", new Dictionary + { + {"0", "Disabled"}, + {"1", "Yes, only for TMDB requests (default)"}, + {"2", "Yes, for all requests"}, + }) + { Value = "1" }; + ConfigData.AddDynamic("dropCategories", ConfigDropCategories); + var ConfigEnhancedAnimeSearch = new BoolConfigurationItem("Do you want to use enhanced ANIME search ?") { Value = false }; ConfigData.AddDynamic("enhancedAnimeSearch", ConfigEnhancedAnimeSearch); @@ -523,18 +533,26 @@ namespace Jackett.Common.Indexers logger.Info("\nXthor - Search requested for movie with title \"" + term + "\""); parameters.Add("search", WebUtility.UrlEncode(term)); } - else - { - logger.Info("\nXthor - Global search requested without term"); - parameters.Add("search", string.Empty); - // Showing all torrents - } } - // Loop on Categories needed + // Loop on categories needed if (categoriesList.Count > 0) { - parameters.Add("category", string.Join("+", categoriesList)); + switch (DropCategories) + { + case 1: + // Drop categories for TMDB query only. + if (!query.IsTmdbQuery) + { goto default; } + break; + case 2: + // Drop categories enabled for all requests + break; + default: + // Default or disabled state (0 value of config switch) + parameters.Add("category", string.Join("+", categoriesList)); + break; + } } // If Only Freeleech Enabled