mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-07-31 12:00:06 -07:00
Add genre filtering function; Add genre filter to discovery
This commit is contained in:
parent
53523b35db
commit
2c94f982c6
1 changed files with 26 additions and 0 deletions
|
@ -202,6 +202,7 @@ namespace Ombi.Api.TheMovieDb
|
||||||
request.AddQueryString("page", page.ToString());
|
request.AddQueryString("page", page.ToString());
|
||||||
}
|
}
|
||||||
await AddDiscoverSettings(request);
|
await AddDiscoverSettings(request);
|
||||||
|
await AddGenreFilter(request, type);
|
||||||
AddRetry(request);
|
AddRetry(request);
|
||||||
var result = await Api.Request<TheMovieDbContainer<SearchResult>>(request, cancellationToken);
|
var result = await Api.Request<TheMovieDbContainer<SearchResult>>(request, cancellationToken);
|
||||||
return Mapper.Map<List<MovieDbSearchResult>>(result.results);
|
return Mapper.Map<List<MovieDbSearchResult>>(result.results);
|
||||||
|
@ -237,6 +238,7 @@ namespace Ombi.Api.TheMovieDb
|
||||||
request.AddQueryString("vote_count.gte", "250");
|
request.AddQueryString("vote_count.gte", "250");
|
||||||
|
|
||||||
await AddDiscoverSettings(request);
|
await AddDiscoverSettings(request);
|
||||||
|
await AddGenreFilter(request, type);
|
||||||
AddRetry(request);
|
AddRetry(request);
|
||||||
var result = await Api.Request<TheMovieDbContainer<SearchResult>>(request);
|
var result = await Api.Request<TheMovieDbContainer<SearchResult>>(request);
|
||||||
return Mapper.Map<List<MovieDbSearchResult>>(result.results);
|
return Mapper.Map<List<MovieDbSearchResult>>(result.results);
|
||||||
|
@ -273,6 +275,7 @@ namespace Ombi.Api.TheMovieDb
|
||||||
request.AddQueryString("page", page.ToString());
|
request.AddQueryString("page", page.ToString());
|
||||||
}
|
}
|
||||||
await AddDiscoverSettings(request);
|
await AddDiscoverSettings(request);
|
||||||
|
await AddGenreFilter(request, type);
|
||||||
AddRetry(request);
|
AddRetry(request);
|
||||||
var result = await Api.Request<TheMovieDbContainer<SearchResult>>(request);
|
var result = await Api.Request<TheMovieDbContainer<SearchResult>>(request);
|
||||||
return Mapper.Map<List<MovieDbSearchResult>>(result.results);
|
return Mapper.Map<List<MovieDbSearchResult>>(result.results);
|
||||||
|
@ -301,6 +304,7 @@ namespace Ombi.Api.TheMovieDb
|
||||||
}
|
}
|
||||||
|
|
||||||
await AddDiscoverSettings(request);
|
await AddDiscoverSettings(request);
|
||||||
|
await AddGenreFilter(request, "movie");
|
||||||
AddRetry(request);
|
AddRetry(request);
|
||||||
var result = await Api.Request<TheMovieDbContainer<SearchResult>>(request);
|
var result = await Api.Request<TheMovieDbContainer<SearchResult>>(request);
|
||||||
return Mapper.Map<List<MovieDbSearchResult>>(result.results);
|
return Mapper.Map<List<MovieDbSearchResult>>(result.results);
|
||||||
|
@ -394,6 +398,28 @@ namespace Ombi.Api.TheMovieDb
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async Task AddGenreFilter(Request request, string media_type)
|
||||||
|
{
|
||||||
|
var settings = await Settings;
|
||||||
|
List<int> excludedGenres;
|
||||||
|
|
||||||
|
switch (media_type) {
|
||||||
|
case "tv":
|
||||||
|
excludedGenres = settings.ExcludedTvGenreIds;
|
||||||
|
break;
|
||||||
|
case "movie":
|
||||||
|
excludedGenres = settings.ExcludedMovieGenreIds;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (excludedGenres?.Any() == true)
|
||||||
|
{
|
||||||
|
request.AddQueryString("without_genres", string.Join(",", excludedGenres));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static void AddRetry(Request request)
|
private static void AddRetry(Request request)
|
||||||
{
|
{
|
||||||
request.Retry = true;
|
request.Retry = true;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue