From 066c746e5f411f255e0ea0d38cead1da955e4f0e Mon Sep 17 00:00:00 2001 From: Devin Buhl Date: Mon, 20 Mar 2017 21:51:48 -0400 Subject: [PATCH] Move up IMDB logic in ParsingService, should help with the mismatched movies --- src/NzbDrone.Core/Parser/ParsingService.cs | 46 +++++++++------------- 1 file changed, 19 insertions(+), 27 deletions(-) diff --git a/src/NzbDrone.Core/Parser/ParsingService.cs b/src/NzbDrone.Core/Parser/ParsingService.cs index 52db77468..2911c2e13 100644 --- a/src/NzbDrone.Core/Parser/ParsingService.cs +++ b/src/NzbDrone.Core/Parser/ParsingService.cs @@ -354,12 +354,17 @@ namespace NzbDrone.Core.Parser private Movie GetMovie(ParsedMovieInfo parsedMovieInfo, string imdbId, SearchCriteriaBase searchCriteria) { - if (searchCriteria != null) + // IMDbID is present, movie this logic up + if (imdbId.IsNotNullOrWhiteSpace()) { - var possibleTitles = new List(); + return _movieService.FindByImdbId(imdbId); + } - Movie possibleMovie = null; + Movie possibleMovie = null; + if (searchCriteria != null) + { + var possibleTitles = new List(); possibleTitles.Add(searchCriteria.Movie.CleanTitle); foreach (string altTitle in searchCriteria.Movie.AlternativeTitles) @@ -391,48 +396,35 @@ namespace NzbDrone.Core.Parser } } - if (possibleMovie != null && (parsedMovieInfo.Year < 1800 || possibleMovie.Year == parsedMovieInfo.Year)) - { - return possibleMovie; - } - - + if (possibleMovie != null && (parsedMovieInfo.Year < 1900 || possibleMovie.Year == parsedMovieInfo.Year)) + { + return possibleMovie; + } } - - Movie movie = null; - - if (searchCriteria == null) + else { if (parsedMovieInfo.Year > 1900) { - movie = _movieService.FindByTitle(parsedMovieInfo.MovieTitle, parsedMovieInfo.Year); + possibleMovie = _movieService.FindByTitle(parsedMovieInfo.MovieTitle, parsedMovieInfo.Year); } else { - movie = _movieService.FindByTitle(parsedMovieInfo.MovieTitle); + possibleMovie = _movieService.FindByTitle(parsedMovieInfo.MovieTitle); } - if (movie == null) + if (possibleMovie == null) { - movie = _movieService.FindByTitle(parsedMovieInfo.MovieTitle); + possibleMovie = _movieService.FindByTitle(parsedMovieInfo.MovieTitle); } - // return movie; } - - - if (movie == null && imdbId.IsNotNullOrWhiteSpace()) - { - movie = _movieService.FindByImdbId(imdbId); - } - - if (movie == null) + if (possibleMovie == null) { _logger.Debug($"No matching movie {parsedMovieInfo.MovieTitle}"); return null; } - return movie; + return possibleMovie; } private Series GetSeries(ParsedEpisodeInfo parsedEpisodeInfo, int tvdbId, int tvRageId, SearchCriteriaBase searchCriteria)