1
0
mirror of https://github.com/Radarr/Radarr.git synced 2024-11-04 10:02:40 +01:00

Merge branch 'feature/better-mapping-info' into develop

This commit is contained in:
Leonardo Galli 2017-05-12 16:09:35 +02:00
commit 096d24ed91

View File

@ -350,7 +350,7 @@ private ParsedEpisodeInfo ParseSpecialEpisodeTitle(string title, Series series)
private Movie GetMovie(ParsedMovieInfo parsedMovieInfo, string imdbId, SearchCriteriaBase searchCriteria)
{
// TODO: Answer me this: Wouldn't it be smarter to start out looking for a movie if we have an ImDb Id?
if (!String.IsNullOrWhiteSpace(imdbId))
if (!String.IsNullOrWhiteSpace(imdbId) && imdbId != "0")
{
Movie movieByImDb;
if (TryGetMovieByImDbId(parsedMovieInfo, imdbId, out movieByImDb))
@ -403,6 +403,8 @@ private bool TryGetMovieByTitleAndOrYear(ParsedMovieInfo parsedMovieInfo, out Mo
{
return true;
}
return false;
}
movieByTitleAndOrYear = _movieService.FindByTitle(parsedMovieInfo.MovieTitle);
if (isNotNull(movieByTitleAndOrYear))
@ -686,4 +688,30 @@ private List<Episode> GetStandardEpisodes(Series series, ParsedEpisodeInfo parse
return result;
}
}
public class MappingException : Exception
{
public virtual string Reason()
{
return "Parsed movie does not match wanted movie";
}
}
public class YearDoesNotMatchException : MappingException
{
public int ExpectedYear { get; set; }
public int? ParsedYear { get; set; }
override public string Reason()
{
if (ParsedYear.HasValue && ParsedYear > 1800)
{
return $"Expected {ExpectedYear}, but found {ParsedYear} for year";
}
else
{
return "Did not find a valid year";
}
}
}
}