mirror of
https://github.com/Radarr/Radarr.git
synced 2026-04-27 22:57:09 -04:00
New: Trending and Popular Movies in Discovery
This commit is contained in:
@@ -54,7 +54,7 @@ namespace Radarr.Api.V3.ImportLists
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public object GetDiscoverMovies(bool includeRecommendations = false)
|
||||
public object GetDiscoverMovies(bool includeRecommendations = false, bool includeTrending = false, bool includePopular = false)
|
||||
{
|
||||
var movieLanguage = (Language)_configService.MovieInfoLanguage;
|
||||
|
||||
@@ -77,6 +77,17 @@ namespace Radarr.Api.V3.ImportLists
|
||||
realResults.ForEach(x => x.IsRecommendation = true);
|
||||
}
|
||||
|
||||
// Add TMDB Trending
|
||||
var trendingResults = _movieInfo.GetTrendingMovies();
|
||||
|
||||
realResults.AddRange(MapToResource(trendingResults.Select(m => new Movie { MovieMetadata = m }).Where(x => x != null), movieLanguage, true));
|
||||
|
||||
// Add TMDB Popular
|
||||
var popularResults = _movieInfo.GetPopularMovies();
|
||||
|
||||
realResults.AddRange(MapToResource(popularResults.Select(m => new Movie { MovieMetadata = m }).Where(x => x != null), movieLanguage, false, true));
|
||||
|
||||
// Add List Movies
|
||||
var listMovies = MapToResource(_listMovieService.GetAllForLists(_importListFactory.Enabled().Select(x => x.Definition.Id).ToList()), movieLanguage).ToList();
|
||||
|
||||
realResults.AddRange(listMovies);
|
||||
@@ -92,6 +103,8 @@ namespace Radarr.Api.V3.ImportLists
|
||||
movie.IsExcluded = listExclusions.Any(e => e.TmdbId == movie.TmdbId);
|
||||
movie.IsExisting = existingTmdbIds.Any(e => e == movie.TmdbId);
|
||||
movie.IsRecommendation = x.Any(m => m.IsRecommendation);
|
||||
movie.IsPopular = x.Any(m => m.IsPopular);
|
||||
movie.IsTrending = x.Any(m => m.IsTrending);
|
||||
|
||||
return movie;
|
||||
}).ToList();
|
||||
@@ -107,7 +120,7 @@ namespace Radarr.Api.V3.ImportLists
|
||||
return _addMovieService.AddMovies(newMovies, true).ToResource(0);
|
||||
}
|
||||
|
||||
private IEnumerable<ImportListMoviesResource> MapToResource(IEnumerable<Movie> movies, Language language)
|
||||
private IEnumerable<ImportListMoviesResource> MapToResource(IEnumerable<Movie> movies, Language language, bool isTrending = false, bool isPopular = false)
|
||||
{
|
||||
// Avoid calling for naming spec on every movie in filenamebuilder
|
||||
var namingConfig = _namingService.GetConfig();
|
||||
@@ -127,6 +140,8 @@ namespace Radarr.Api.V3.ImportLists
|
||||
resource.Title = translation?.Title ?? resource.Title;
|
||||
resource.Overview = translation?.Overview ?? resource.Overview;
|
||||
resource.Folder = _fileNameBuilder.GetMovieFolder(currentMovie, namingConfig);
|
||||
resource.IsTrending = isTrending;
|
||||
resource.IsPopular = isPopular;
|
||||
|
||||
yield return resource;
|
||||
}
|
||||
|
||||
@@ -42,6 +42,8 @@ namespace Radarr.Api.V3.ImportLists
|
||||
public MovieCollection Collection { get; set; }
|
||||
public bool IsExcluded { get; set; }
|
||||
public bool IsExisting { get; set; }
|
||||
public bool IsTrending { get; set; }
|
||||
public bool IsPopular { get; set; }
|
||||
|
||||
public bool IsRecommendation { get; set; }
|
||||
public HashSet<int> Lists { get; set; }
|
||||
|
||||
Reference in New Issue
Block a user