Increase the results for the discover page

This commit is contained in:
TidusJar 2019-01-30 13:17:10 +00:00
parent 2f5dc4a498
commit 0ce93071f1
14 changed files with 197 additions and 32 deletions

View file

@ -32,7 +32,12 @@ namespace Ombi.Core.Engine
OmbiSettings = ombiSettings;
_subscriptionRepository = sub;
}
private int _resultLimit;
public int ResultLimit
{
get => _resultLimit > 0 ? _resultLimit : 10;
set => _resultLimit = value;
}
protected IRequestServiceMain RequestService { get; }
protected IMovieRequestRepository MovieRepository => RequestService.MovieRequestService;
protected ITvRequestRepository TvRepository => RequestService.TvRequestService;

View file

@ -20,5 +20,6 @@ namespace Ombi.Core
Task<IEnumerable<SearchMovieViewModel>> SimilarMovies(int theMovieDbId, string langCode);
Task<IEnumerable<SearchMovieViewModel>> SearchActor(string search, string langaugeCode);
int ResultLimit { get; set; }
}
}

View file

@ -12,5 +12,6 @@ namespace Ombi.Core.Engine.Interfaces
Task<IEnumerable<SearchTvShowViewModel>> Anticipated();
Task<IEnumerable<SearchTvShowViewModel>> MostWatches();
Task<IEnumerable<SearchTvShowViewModel>> Trending();
int ResultLimit { get; set; }
}
}

View file

@ -35,7 +35,6 @@ namespace Ombi.Core.Engine
private IMapper Mapper { get; }
private ILogger<MovieSearchEngine> Logger { get; }
private const int MovieLimit = 10;
/// <summary>
/// Lookups the imdb information.
@ -61,7 +60,7 @@ namespace Ombi.Core.Engine
if (result != null)
{
return await TransformMovieResultsToResponse(result.Take(MovieLimit)); // Take x to stop us overloading the API
return await TransformMovieResultsToResponse(result.Take(ResultLimit)); // Take x to stop us overloading the API
}
return null;
}
@ -105,7 +104,7 @@ namespace Ombi.Core.Engine
if (result != null)
{
Logger.LogDebug("Search Result: {result}", result);
return await TransformMovieResultsToResponse(result.Take(MovieLimit)); // Take x to stop us overloading the API
return await TransformMovieResultsToResponse(result.Take(ResultLimit)); // Take x to stop us overloading the API
}
return null;
}
@ -124,7 +123,7 @@ namespace Ombi.Core.Engine
}, DateTime.Now.AddHours(12));
if (result != null)
{
return await TransformMovieResultsToResponse(result.Take(MovieLimit)); // Take x to stop us overloading the API
return await TransformMovieResultsToResponse(result.Take(ResultLimit)); // Take x to stop us overloading the API
}
return null;
}
@ -142,7 +141,7 @@ namespace Ombi.Core.Engine
}, DateTime.Now.AddHours(12));
if (result != null)
{
return await TransformMovieResultsToResponse(result.Take(MovieLimit)); // Take x to stop us overloading the API
return await TransformMovieResultsToResponse(result.Take(ResultLimit)); // Take x to stop us overloading the API
}
return null;
}
@ -161,7 +160,7 @@ namespace Ombi.Core.Engine
if (result != null)
{
Logger.LogDebug("Search Result: {result}", result);
return await TransformMovieResultsToResponse(result.Take(MovieLimit)); // Take x to stop us overloading the API
return await TransformMovieResultsToResponse(result.Take(ResultLimit)); // Take x to stop us overloading the API
}
return null;
}
@ -179,7 +178,7 @@ namespace Ombi.Core.Engine
}, DateTime.Now.AddHours(12));
if (result != null)
{
return await TransformMovieResultsToResponse(result.Take(MovieLimit)); // Take x to stop us overloading the API
return await TransformMovieResultsToResponse(result.Take(ResultLimit)); // Take x to stop us overloading the API
}
return null;
}

View file

@ -122,7 +122,7 @@ namespace Ombi.Core.Engine
public async Task<IEnumerable<SearchTvShowViewModel>> Popular()
{
var result = await Cache.GetOrAdd(CacheKeys.PopularTv, async () => await TraktApi.GetPopularShows(), DateTime.Now.AddHours(12));
var result = await Cache.GetOrAdd(CacheKeys.PopularTv, async () => await TraktApi.GetPopularShows(null, ResultLimit), DateTime.Now.AddHours(12));
var processed = ProcessResults(result);
return processed;
}
@ -130,21 +130,21 @@ namespace Ombi.Core.Engine
public async Task<IEnumerable<SearchTvShowViewModel>> Anticipated()
{
var result = await Cache.GetOrAdd(CacheKeys.AnticipatedTv, async () => await TraktApi.GetAnticipatedShows(), DateTime.Now.AddHours(12));
var result = await Cache.GetOrAdd(CacheKeys.AnticipatedTv, async () => await TraktApi.GetAnticipatedShows(null, ResultLimit), DateTime.Now.AddHours(12));
var processed = ProcessResults(result);
return processed;
}
public async Task<IEnumerable<SearchTvShowViewModel>> MostWatches()
{
var result = await Cache.GetOrAdd(CacheKeys.MostWatchesTv, async () => await TraktApi.GetMostWatchesShows(), DateTime.Now.AddHours(12));
var result = await Cache.GetOrAdd(CacheKeys.MostWatchesTv, async () => await TraktApi.GetMostWatchesShows(null, ResultLimit), DateTime.Now.AddHours(12));
var processed = ProcessResults(result);
return processed;
}
public async Task<IEnumerable<SearchTvShowViewModel>> Trending()
{
var result = await Cache.GetOrAdd(CacheKeys.TrendingTv, async () => await TraktApi.GetTrendingShows(), DateTime.Now.AddHours(12));
var result = await Cache.GetOrAdd(CacheKeys.TrendingTv, async () => await TraktApi.GetTrendingShows(null, ResultLimit), DateTime.Now.AddHours(12));
var processed = ProcessResults(result);
return processed;
}