diff --git a/src/NzbDrone.Core/MediaFiles/UpdateMovieFileService.cs b/src/NzbDrone.Core/MediaFiles/UpdateMovieFileService.cs index d2fecfc14..0980835dd 100644 --- a/src/NzbDrone.Core/MediaFiles/UpdateMovieFileService.cs +++ b/src/NzbDrone.Core/MediaFiles/UpdateMovieFileService.cs @@ -22,17 +22,17 @@ namespace NzbDrone.Core.MediaFiles { private readonly IDiskProvider _diskProvider; private readonly IConfigService _configService; - private readonly IMovieService _movieService; + private readonly IMediaFileService _mediaFileService; private readonly Logger _logger; public UpdateMovieFileService(IDiskProvider diskProvider, - IConfigService configService, - IMovieService movieService, - Logger logger) + IConfigService configService, + IMediaFileService mediaFileService, + Logger logger) { _diskProvider = diskProvider; _configService = configService; - _movieService = movieService; + _mediaFileService = mediaFileService; _logger = logger; } @@ -107,18 +107,11 @@ namespace NzbDrone.Core.MediaFiles return; } - var movies = _movieService.MoviesWithFiles(message.Movie.Id); - - var movieFiles = new List(); + var movieFiles = _mediaFileService.GetFilesByMovie(message.Movie.Id); var updated = new List(); - foreach (var group in movies.GroupBy(e => e.MovieFileId)) + foreach (var movieFile in movieFiles) { - var moviesInFile = group.Select(e => e).ToList(); - var movieFile = moviesInFile.First().MovieFile; - - movieFiles.Add(movieFile); - if (ChangeFileDate(movieFile, message.Movie)) { updated.Add(movieFile); @@ -134,59 +127,5 @@ namespace NzbDrone.Core.MediaFiles _logger.ProgressDebug("No file dates changed for {0}", message.Movie.Title); } } - - private bool ChangeFileDateToLocalAirDate(string filePath, string fileDate, string fileTime) - { - DateTime airDate; - - if (DateTime.TryParse(fileDate + ' ' + fileTime, out airDate)) - { - // avoiding false +ve checks and set date skewing by not using UTC (Windows) - DateTime oldDateTime = _diskProvider.FileGetLastWrite(filePath); - - if (!DateTime.Equals(airDate, oldDateTime)) - { - try - { - _diskProvider.FileSetLastWriteTime(filePath, airDate); - _logger.Debug("Date of file [{0}] changed from '{1}' to '{2}'", filePath, oldDateTime, airDate); - - return true; - } - catch (Exception ex) - { - _logger.Warn(ex, "Unable to set date of file [" + filePath + "]"); - } - } - } - else - { - _logger.Debug("Could not create valid date to change file [{0}]", filePath); - } - - return false; - } - - private bool ChangeFileDateToUtcAirDate(string filePath, DateTime airDateUtc) - { - DateTime oldLastWrite = _diskProvider.FileGetLastWrite(filePath); - - if (!DateTime.Equals(airDateUtc, oldLastWrite)) - { - try - { - _diskProvider.FileSetLastWriteTime(filePath, airDateUtc); - _logger.Debug("Date of file [{0}] changed from '{1}' to '{2}'", filePath, oldLastWrite, airDateUtc); - - return true; - } - catch (Exception ex) - { - _logger.Warn(ex, "Unable to set date of file [" + filePath + "]"); - } - } - - return false; - } } } diff --git a/src/NzbDrone.Core/Movies/MovieRepository.cs b/src/NzbDrone.Core/Movies/MovieRepository.cs index 776f718e9..59c8fa307 100644 --- a/src/NzbDrone.Core/Movies/MovieRepository.cs +++ b/src/NzbDrone.Core/Movies/MovieRepository.cs @@ -21,7 +21,6 @@ namespace NzbDrone.Core.Movies List FindByTmdbId(List tmdbids); Movie FindByTitleSlug(string slug); List MoviesBetweenDates(DateTime start, DateTime end, bool includeUnmonitored); - List MoviesWithFiles(int movieId); PagingSpec MoviesWithoutFiles(PagingSpec pagingSpec); List GetMoviesByFileId(int fileId); void SetFileId(int fileId, int movieId); @@ -164,11 +163,6 @@ namespace NzbDrone.Core.Movies return Query(builder); } - public List MoviesWithFiles(int movieId) - { - return Query(x => x.MovieFileId != 0); - } - public SqlBuilder MoviesWithoutFilesBuilder() => BuilderBase().Where(x => x.MovieFileId == 0); public PagingSpec MoviesWithoutFiles(PagingSpec pagingSpec) diff --git a/src/NzbDrone.Core/Movies/MovieService.cs b/src/NzbDrone.Core/Movies/MovieService.cs index 4e6e21117..c044fe143 100644 --- a/src/NzbDrone.Core/Movies/MovieService.cs +++ b/src/NzbDrone.Core/Movies/MovieService.cs @@ -47,8 +47,6 @@ namespace NzbDrone.Core.Movies List FilterExistingMovies(List movies); bool MoviePathExists(string folder); void RemoveAddOptions(Movie movie); - List MoviesWithFiles(int movieId); - System.Linq.Expressions.Expression> ConstructFilterExpression(string filterKey, string filterValue, string filterType = null); } public class MovieService : IMovieService, IHandle, @@ -76,64 +74,6 @@ namespace NzbDrone.Core.Movies _logger = logger; } - public System.Linq.Expressions.Expression> ConstructFilterExpression(string filterKey, string filterValue, string filterType = null) - { - //if (FilterKey == "all" && FilterValue == "all") - //{ - // return v => v.Monitored == true || v.Monitored == false; - //} - if (filterKey == "monitored" && filterValue == "false") - { - return v => v.Monitored == false; - } - else if (filterKey == "monitored" && filterValue == "true") - { - return v => v.Monitored == true; - } - else if (filterKey == "status") - { - switch (filterValue) - { - case "released": - return v => v.Status == MovieStatusType.Released; - case "inCinemas": - return v => v.Status == MovieStatusType.InCinemas; - case "announced": - return v => v.Status == MovieStatusType.Announced; - case "available": - return v => v.Monitored == true && - ((v.MinimumAvailability == MovieStatusType.Released && v.Status >= MovieStatusType.Released) || - (v.MinimumAvailability == MovieStatusType.InCinemas && v.Status >= MovieStatusType.InCinemas) || - (v.MinimumAvailability == MovieStatusType.Announced && v.Status >= MovieStatusType.Announced) || - ((v.MinimumAvailability == MovieStatusType.PreDB && v.Status >= MovieStatusType.Released) || v.HasPreDBEntry == true)); - } - } - else if (filterKey == "downloaded") - { - return v => v.MovieFileId == 0; - } - else if (filterKey == "title") - { - if (filterValue == string.Empty || filterValue == null) - { - return v => true; - } - else - { - if (filterType == "contains") - { - return v => v.CleanTitle.Contains(filterValue); - } - else - { - return v => v.CleanTitle == filterValue; - } - } - } - - return v => true; - } - public Movie GetMovie(int movieId) { return _movieRepository.Get(movieId); @@ -465,11 +405,6 @@ namespace NzbDrone.Core.Movies return movies; } - public List MoviesWithFiles(int movieId) - { - return _movieRepository.MoviesWithFiles(movieId); - } - public PagingSpec MoviesWithoutFiles(PagingSpec pagingSpec) { var movieResult = _movieRepository.MoviesWithoutFiles(pagingSpec);