mirror of https://github.com/Jackett/Jackett
indexers: more nullable query.season checks
This commit is contained in:
parent
defcf1039a
commit
8d0d882433
|
@ -455,12 +455,12 @@ namespace Jackett.Common.Indexers.Definitions
|
|||
|
||||
if (FilterSeasonEpisode)
|
||||
{
|
||||
if (query.Season != 0 && season != null && season != query.Season) // skip if season doesn't match
|
||||
if (query.Season.HasValue && query.Season > 0 && season != null && season != query.Season) // skip if season doesn't match
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (query.Episode != null && episode != null && episode != int.Parse(query.Episode)) // skip if episode doesn't match
|
||||
if (query.Episode.IsNotNullOrWhiteSpace() && episode != null && episode != int.Parse(query.Episode)) // skip if episode doesn't match
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -64,7 +64,7 @@ namespace Jackett.Common.Indexers.Definitions
|
|||
|
||||
// Avistaz has episodes without season. eg Running Man E323
|
||||
protected override string GetEpisodeSearchTerm(TorznabQuery query) =>
|
||||
query.Season == 0 && query.Episode.IsNotNullOrWhiteSpace()
|
||||
(query.Season == null || query.Season == 0) && query.Episode.IsNotNullOrWhiteSpace()
|
||||
? $"E{query.Episode}"
|
||||
: $"{query.GetEpisodeSearchString()}";
|
||||
}
|
||||
|
|
|
@ -123,12 +123,12 @@ namespace Jackett.Common.Indexers.Definitions
|
|||
}
|
||||
else
|
||||
{
|
||||
if (query.Season != 0)
|
||||
if (query.Season.HasValue)
|
||||
{
|
||||
requestData["tvdb"]["season"] = query.Season;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(query.Episode))
|
||||
if (query.Episode.IsNotNullOrWhiteSpace())
|
||||
{
|
||||
requestData["tvdb"]["episode"] = query.Episode;
|
||||
}
|
||||
|
|
|
@ -385,7 +385,7 @@ namespace Jackett.Common.Indexers.Definitions
|
|||
foreach (var serie in series)
|
||||
{
|
||||
var link = serie["link"].ToString();
|
||||
var season = query.Season == 0 ? "/seasons" : "/season_" + query.Season.ToString();
|
||||
var season = query.Season.HasValue && query.Season > 0 ? $"/season_{query.Season}" : "/seasons";
|
||||
var url = SiteLink + link.TrimStart('/') + season;
|
||||
|
||||
if (!string.IsNullOrEmpty(query.Episode)) // Fetch single episode releases
|
||||
|
|
|
@ -8,6 +8,7 @@ using System.Text;
|
|||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using AngleSharp.Html.Parser;
|
||||
using Jackett.Common.Extensions;
|
||||
using Jackett.Common.Models;
|
||||
using Jackett.Common.Models.IndexerConfig.Bespoke;
|
||||
using Jackett.Common.Services.Interfaces;
|
||||
|
@ -279,7 +280,8 @@ namespace Jackett.Common.Indexers.Definitions
|
|||
if (!string.IsNullOrWhiteSpace(query.SearchTerm))
|
||||
{
|
||||
var searchString = query.SanitizedSearchTerm;
|
||||
if (query.Season == 0 && string.IsNullOrWhiteSpace(query.Episode))
|
||||
|
||||
if (!query.Season.HasValue && query.Episode.IsNullOrWhiteSpace())
|
||||
{
|
||||
//Jackett doesn't check for lowercase s00e00 so do it here.
|
||||
var searchMatch = _seriesInfoSearchRegex.Match(searchString);
|
||||
|
@ -301,11 +303,14 @@ namespace Jackett.Common.Indexers.Definitions
|
|||
queryParams.Add("c", Convert.ToBase64String(plainTextBytes));
|
||||
}
|
||||
|
||||
if (query.Season != 0)
|
||||
if (query.Season.HasValue && query.Season > 0)
|
||||
{
|
||||
queryParams.Add("s", query.Season.ToString());
|
||||
if (!string.IsNullOrWhiteSpace(query.Episode))
|
||||
|
||||
if (query.Episode.IsNotNullOrWhiteSpace())
|
||||
{
|
||||
queryParams.Add("e", query.Episode);
|
||||
}
|
||||
}
|
||||
|
||||
var results = await RequestWithCookiesAndRetryAsync(SearchUrl + "?" + queryParams.GetQueryString());
|
||||
|
|
|
@ -271,7 +271,8 @@ namespace Jackett.Common.Indexers.Definitions
|
|||
else // use the normal search
|
||||
{
|
||||
searchString = searchString.Replace("-", " ");
|
||||
if (query.Season != 0)
|
||||
|
||||
if (query.Season.HasValue && query.Season > 0)
|
||||
{
|
||||
searchString += " Сезон " + query.Season;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue