diff --git a/src/Jackett.Common/Models/DTO/TorznabRequest.cs b/src/Jackett.Common/Models/DTO/TorznabRequest.cs index 0a38637a4..9784dadd0 100644 --- a/src/Jackett.Common/Models/DTO/TorznabRequest.cs +++ b/src/Jackett.Common/Models/DTO/TorznabRequest.cs @@ -1,3 +1,4 @@ +using System; using System.Linq; using Jackett.Common.Utils; @@ -50,22 +51,17 @@ namespace Jackett.Common.Models.DTO if (!string.IsNullOrWhiteSpace(request.offset)) query.Offset = ParseUtil.CoerceInt(request.offset); - bool _cache; - if (bool.TryParse(request.cache, out _cache)) - { + if (bool.TryParse(request.cache, out var _cache)) query.Cache = _cache; - } if (request.cat != null) - { - query.Categories = request.cat.Split(',').Where(s => !string.IsNullOrWhiteSpace(s)).Select(s => int.Parse(s)).ToArray(); - } + query.Categories = request.cat.Split(',').Where(s => !string.IsNullOrWhiteSpace(s)).Select(int.Parse).ToArray(); else { if (query.QueryType == "movie" && !string.IsNullOrWhiteSpace(request.imdbid)) - query.Categories = new int[] { TorznabCatType.Movies.ID }; + query.Categories = new[] { TorznabCatType.Movies.ID }; else - query.Categories = new int[0]; + query.Categories = Array.Empty(); } if (!string.IsNullOrWhiteSpace(request.season)) diff --git a/src/Jackett.Common/Models/TorznabQuery.cs b/src/Jackett.Common/Models/TorznabQuery.cs index 7649feb21..4e5c195da 100644 --- a/src/Jackett.Common/Models/TorznabQuery.cs +++ b/src/Jackett.Common/Models/TorznabQuery.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Text.RegularExpressions; using Jackett.Common.Extensions; using Jackett.Common.Utils; +using Newtonsoft.Json; namespace Jackett.Common.Models { @@ -25,6 +26,8 @@ namespace Jackett.Common.Models public int? TvmazeID { get; set; } public int? TraktID { get; set; } public int? DoubanID { get; set; } + + [JsonIgnore] public bool Cache { get; set; } = true; public int Season { get; set; } diff --git a/src/Jackett.Common/Services/CacheService.cs b/src/Jackett.Common/Services/CacheService.cs index 7bfb1e964..32f01f13f 100644 --- a/src/Jackett.Common/Services/CacheService.cs +++ b/src/Jackett.Common/Services/CacheService.cs @@ -8,6 +8,7 @@ using Jackett.Common.Models; using Jackett.Common.Models.Config; using Jackett.Common.Services.Interfaces; using Jackett.Common.Utils; +using Newtonsoft.Json; using NLog; namespace Jackett.Common.Services @@ -248,15 +249,12 @@ namespace Jackett.Common.Services private static string GetSerializedQuery(TorznabQuery query) { - var json = Newtonsoft.Json.JsonConvert.SerializeObject(query); + var json = JsonConvert.SerializeObject(query); // Changes in the query to improve cache hits // Both request must return the same results, if not we are breaking Jackett search json = json.Replace("\"SearchTerm\":null", "\"SearchTerm\":\"\""); - // The Cache parameter's value should not affect caching itself - json = json.Replace("\"Cache\":false", "\"Cache\":true"); - return json; }