mirror of
https://github.com/Radarr/Radarr.git
synced 2024-10-02 06:07:19 +02:00
parent
086a0addba
commit
1090aeff75
@ -4,6 +4,7 @@
|
||||
using NzbDrone.Common.Extensions;
|
||||
using NzbDrone.Core.Configuration;
|
||||
using NzbDrone.Core.Datastore.Events;
|
||||
using NzbDrone.Core.ImportLists.ImportExclusions;
|
||||
using NzbDrone.Core.Languages;
|
||||
using NzbDrone.Core.Messaging.Commands;
|
||||
using NzbDrone.Core.Messaging.Events;
|
||||
@ -30,6 +31,7 @@ public class CollectionController : RestControllerWithSignalR<CollectionResource
|
||||
private readonly IMovieService _movieService;
|
||||
private readonly IMovieMetadataService _movieMetadataService;
|
||||
private readonly IMovieTranslationService _movieTranslationService;
|
||||
private readonly IImportExclusionsService _importExclusionService;
|
||||
private readonly IConfigService _configService;
|
||||
private readonly IBuildFileNames _fileNameBuilder;
|
||||
private readonly INamingConfigService _namingService;
|
||||
@ -40,6 +42,7 @@ public CollectionController(IBroadcastSignalRMessage signalRBroadcaster,
|
||||
IMovieService movieService,
|
||||
IMovieMetadataService movieMetadataService,
|
||||
IMovieTranslationService movieTranslationService,
|
||||
IImportExclusionsService importExclusionsService,
|
||||
IConfigService configService,
|
||||
IBuildFileNames fileNameBuilder,
|
||||
INamingConfigService namingService,
|
||||
@ -50,6 +53,7 @@ public CollectionController(IBroadcastSignalRMessage signalRBroadcaster,
|
||||
_movieService = movieService;
|
||||
_movieMetadataService = movieMetadataService;
|
||||
_movieTranslationService = movieTranslationService;
|
||||
_importExclusionService = importExclusionsService;
|
||||
_configService = configService;
|
||||
_fileNameBuilder = fileNameBuilder;
|
||||
_namingService = namingService;
|
||||
@ -150,9 +154,11 @@ private IEnumerable<CollectionResource> MapToResource(List<MovieCollection> coll
|
||||
{
|
||||
// Avoid calling for naming spec on every movie in filenamebuilder
|
||||
var namingConfig = _namingService.GetConfig();
|
||||
var existingMoviesTmdbIds = _movieService.AllMovieWithCollectionsTmdbIds();
|
||||
var configLanguage = (Language)_configService.MovieInfoLanguage;
|
||||
|
||||
var existingMoviesTmdbIds = _movieService.AllMovieWithCollectionsTmdbIds();
|
||||
var listExclusions = _importExclusionService.GetAllExclusions();
|
||||
|
||||
var allCollectionMovies = _movieMetadataService.GetMoviesWithCollections()
|
||||
.GroupBy(x => x.CollectionTmdbId)
|
||||
.ToDictionary(x => x.Key, x => (IEnumerable<MovieMetadata>)x);
|
||||
@ -175,7 +181,9 @@ private IEnumerable<CollectionResource> MapToResource(List<MovieCollection> coll
|
||||
var movieResource = movie.ToResource(translation);
|
||||
movieResource.Folder = _fileNameBuilder.GetMovieFolder(new Movie { MovieMetadata = movie }, namingConfig);
|
||||
|
||||
if (!existingMoviesTmdbIds.Contains(movie.TmdbId))
|
||||
var isExcluded = listExclusions.Any(e => e.TmdbId == movie.TmdbId);
|
||||
|
||||
if (!existingMoviesTmdbIds.Contains(movie.TmdbId) && !isExcluded)
|
||||
{
|
||||
resource.MissingMovies++;
|
||||
}
|
||||
@ -191,10 +199,13 @@ private IEnumerable<CollectionResource> MapToResource(List<MovieCollection> coll
|
||||
private CollectionResource MapToResource(MovieCollection collection)
|
||||
{
|
||||
var resource = collection.ToResource();
|
||||
var existingMoviesTmdbIds = _movieService.AllMovieWithCollectionsTmdbIds();
|
||||
|
||||
var namingConfig = _namingService.GetConfig();
|
||||
var configLanguage = (Language)_configService.MovieInfoLanguage;
|
||||
|
||||
var existingMoviesTmdbIds = _movieService.AllMovieWithCollectionsTmdbIds();
|
||||
var listExclusions = _importExclusionService.GetAllExclusions();
|
||||
|
||||
foreach (var movie in _movieMetadataService.GetMoviesByCollectionTmdbId(collection.TmdbId))
|
||||
{
|
||||
var translations = _movieTranslationService.GetAllTranslationsForMovieMetadata(movie.Id);
|
||||
@ -203,7 +214,9 @@ private CollectionResource MapToResource(MovieCollection collection)
|
||||
var movieResource = movie.ToResource(translation);
|
||||
movieResource.Folder = _fileNameBuilder.GetMovieFolder(new Movie { MovieMetadata = movie }, namingConfig);
|
||||
|
||||
if (!existingMoviesTmdbIds.Contains(movie.TmdbId))
|
||||
var isExcluded = listExclusions.Any(e => e.TmdbId == movie.TmdbId);
|
||||
|
||||
if (!existingMoviesTmdbIds.Contains(movie.TmdbId) && !isExcluded)
|
||||
{
|
||||
resource.MissingMovies++;
|
||||
}
|
||||
|
@ -20,6 +20,7 @@ public class CollectionMovieResource
|
||||
public Ratings Ratings { get; set; }
|
||||
public List<string> Genres { get; set; }
|
||||
public string Folder { get; set; }
|
||||
public bool IsExcluded { get; set; }
|
||||
}
|
||||
|
||||
public static class CollectionMovieResourceMapper
|
||||
|
Loading…
Reference in New Issue
Block a user