New: Genre parameter for Movie search

This commit is contained in:
Qstick 2022-01-01 14:49:01 -06:00
parent 66b4c7891d
commit e2ddfbff9c
3 changed files with 19 additions and 0 deletions

View file

@ -10,6 +10,7 @@ public class MovieSearchCriteria : SearchCriteriaBase
public int? TmdbId { get; set; }
public int? TraktId { get; set; }
public int? Year { get; set; }
public string Genre { get; set; }
public override bool RssSearch
{
@ -64,6 +65,11 @@ public override string SearchQuery
builder = builder.Append($" TraktId:[{TraktId}]");
}
if (Genre.IsNotNullOrWhiteSpace())
{
builder = builder.Append($" Genre:[{Genre}]");
}
return builder.ToString().Trim();
}
}

View file

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

View file

@ -26,6 +26,7 @@ public enum MovieSearchParam
ImdbTitle,
ImdbYear,
TraktId,
Genre
}
public enum MusicSearchParam
@ -75,6 +76,7 @@ public class IndexerCapabilities
public bool MovieSearchImdbAvailable => MovieSearchParams.Contains(MovieSearchParam.ImdbId);
public bool MovieSearchTmdbAvailable => MovieSearchParams.Contains(MovieSearchParam.TmdbId);
public bool MovieSearchTraktAvailable => MovieSearchParams.Contains(MovieSearchParam.TraktId);
public bool MovieSearchGenreAvailable => MovieSearchParams.Contains(MovieSearchParam.Genre);
public List<MusicSearchParam> MusicSearchParams;
public bool MusicSearchAvailable => MusicSearchParams.Count > 0;
@ -321,6 +323,16 @@ private string SupportedMovieSearchParams()
parameters.Add("tmdbid");
}
if (MovieSearchTraktAvailable)
{
parameters.Add("traktid");
}
if (MovieSearchGenreAvailable)
{
parameters.Add("genre");
}
return string.Join(",", parameters);
}