diff --git a/src/NzbDrone.Core/MetadataSource/SkyHook/SkyHookProxy.cs b/src/NzbDrone.Core/MetadataSource/SkyHook/SkyHookProxy.cs index 49ac659ea..e24aa65aa 100644 --- a/src/NzbDrone.Core/MetadataSource/SkyHook/SkyHookProxy.cs +++ b/src/NzbDrone.Core/MetadataSource/SkyHook/SkyHookProxy.cs @@ -33,6 +33,11 @@ public class SkyHookProxy : IProvideMovieInfo, ISearchForNewMovie private readonly IMovieMetadataService _movieMetadataService; private readonly IMovieTranslationService _movieTranslationService; + private static readonly Regex ImdbIdRegex = new Regex(@"imdb\.com/title/(?tt\d+)", + RegexOptions.Compiled); + private static readonly Regex TmdbIdRegex = new Regex(@"themoviedb\.org/movie/(?\d+)", + RegexOptions.Compiled); + public SkyHookProxy(IHttpClient httpClient, IRadarrCloudRequestBuilder requestBuilder, IConfigService configService, @@ -401,12 +406,31 @@ public MovieMetadata MapMovieToTmdbMovie(MovieMetadata movie) } } + private List ConvertDbLinkToId(string title) + { + var match = ImdbIdRegex.Match(title); + if (match.Success) + { + return "imdb:" + match.Groups["id"].Value; + } + + match = TmdbIdRegex.Match(title); + if (match.Success) + { + return "tmdb:" + match.Groups["id"].Value; + } + + return title; + } + public List SearchForNewMovie(string title) { try { var lowerTitle = title.ToLower(); + lowerTitle = ConvertDbLinkToId(lowerTitle); + lowerTitle = lowerTitle.Replace(".", ""); var parserTitle = lowerTitle;