edwinbernadus 2 weeks ago committed by GitHub
commit 71febe92fa
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -8,5 +8,7 @@ namespace NzbDrone.Core.MetadataSource
List<Movie> SearchForNewMovie(string title);
MovieMetadata MapMovieToTmdbMovie(MovieMetadata movie);
MovieMetadata GetMovieByImdbId(string imdbId);
}
}

@ -1,8 +1,10 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using Microsoft.AspNetCore.Mvc;
using NzbDrone.Core.Configuration;
using NzbDrone.Core.Exceptions;
using NzbDrone.Core.Languages;
using NzbDrone.Core.MediaCover;
using NzbDrone.Core.MetadataSource;
@ -67,10 +69,30 @@ namespace Radarr.Api.V3.Movies
public object Search([FromQuery] string term)
{
var searchResults = _searchProxy.SearchForNewMovie(term);
searchResults = PopulateFromImdbIfEmpty(searchResults, term);
return MapToResource(searchResults);
}
private List<Movie> PopulateFromImdbIfEmpty(List<Movie> searchResults, string imdbid)
{
var regex = new Regex(@"^tt\d{7,8}$");
if (searchResults.Count == 0 && imdbid.StartsWith("tt") && regex.IsMatch(imdbid))
{
try
{
var movieLookup = _searchProxy.GetMovieByImdbId(imdbid);
var movies = new List<Movie> { new Movie { MovieMetadata = movieLookup } };
return movies;
}
catch (MovieNotFoundException)
{
return new List<Movie>();
}
}
return searchResults;
}
private IEnumerable<MovieResource> MapToResource(IEnumerable<Movie> movies)
{
var movieInfoLanguage = (Language)_configService.MovieInfoLanguage;

Loading…
Cancel
Save