Fixed: (Cardigann) Fails when Int variables used in requests

This commit is contained in:
Qstick 2021-11-27 20:50:58 -06:00
parent eff8fdebf5
commit d61ce3f27c
3 changed files with 17 additions and 10 deletions

View file

@ -9,6 +9,7 @@ public class MovieSearchCriteria : SearchCriteriaBase
public string ImdbId { get; set; }
public int? TmdbId { get; set; }
public int? TraktId { get; set; }
public int? Year { get; set; }
public override bool RssSearch
{
@ -48,6 +49,11 @@ public override string SearchQuery
builder = builder.Append($" IMDbId:[{ImdbId}]");
}
if (Year.HasValue)
{
builder = builder.Append($" Year:[{Year}]");
}
if (TmdbId.HasValue)
{
builder = builder.Append($" TMDbId:[{TmdbId}]");

View file

@ -59,6 +59,7 @@ private async Task<NewznabResults> MovieSearch(NewznabRequest request, List<int>
searchSpec.ImdbId = request.imdbid;
searchSpec.TmdbId = request.tmdbid;
searchSpec.TraktId = request.traktid;
searchSpec.Year = request.year;
return new NewznabResults { Releases = await Dispatch(indexer => indexer.Fetch(searchSpec), searchSpec) };
}

View file

@ -46,11 +46,11 @@ public IndexerPageableRequestChain GetSearchRequests(MovieSearchCriteria searchC
var variables = GetQueryVariableDefaults(searchCriteria);
variables[".Query.Movie"] = null;
variables[".Query.Year"] = null;
variables[".Query.Year"] = searchCriteria.Year?.ToString() ?? null;
variables[".Query.IMDBID"] = searchCriteria.FullImdbId;
variables[".Query.IMDBIDShort"] = searchCriteria.ImdbId;
variables[".Query.TMDBID"] = searchCriteria.TmdbId;
variables[".Query.TraktID"] = searchCriteria.TraktId;
variables[".Query.TMDBID"] = searchCriteria.TmdbId?.ToString() ?? null;
variables[".Query.TraktID"] = searchCriteria.TraktId?.ToString() ?? null;
pageableRequests.Add(GetRequest(variables));
@ -81,13 +81,13 @@ public IndexerPageableRequestChain GetSearchRequests(TvSearchCriteria searchCrit
variables[".Query.Series"] = null;
variables[".Query.Ep"] = searchCriteria.Episode;
variables[".Query.Season"] = searchCriteria.Season;
variables[".Query.Season"] = searchCriteria.Season?.ToString() ?? null;
variables[".Query.IMDBID"] = searchCriteria.FullImdbId;
variables[".Query.IMDBIDShort"] = searchCriteria.ImdbId;
variables[".Query.TVDBID"] = searchCriteria.TvdbId;
variables[".Query.TVRageID"] = searchCriteria.RId;
variables[".Query.TVMazeID"] = searchCriteria.TvMazeId;
variables[".Query.TraktID"] = searchCriteria.TraktId;
variables[".Query.TVDBID"] = searchCriteria.TvdbId?.ToString() ?? null;
variables[".Query.TVRageID"] = searchCriteria.RId?.ToString() ?? null;
variables[".Query.TVMazeID"] = searchCriteria.TvMazeId?.ToString() ?? null;
variables[".Query.TraktID"] = searchCriteria.TraktId?.ToString() ?? null;
variables[".Query.Episode"] = searchCriteria.EpisodeSearchString;
pageableRequests.Add(GetRequest(variables));
@ -127,8 +127,8 @@ private Dictionary<string, object> GetQueryVariableDefaults(SearchCriteriaBase s
variables[".Query.Type"] = searchCriteria.SearchType;
variables[".Query.Q"] = searchCriteria.SearchTerm;
variables[".Query.Categories"] = searchCriteria.Categories;
variables[".Query.Limit"] = searchCriteria.Limit;
variables[".Query.Offset"] = searchCriteria.Offset;
variables[".Query.Limit"] = searchCriteria.Limit?.ToString() ?? null;
variables[".Query.Offset"] = searchCriteria.Offset?.ToString() ?? null;
variables[".Query.Extended"] = null;
variables[".Query.APIKey"] = null;