New: Dont Use Profile Language for Metadata Pull

This commit is contained in:
Qstick 2020-01-08 22:18:26 -05:00
parent d6f15af6b6
commit f332f8d7cd
7 changed files with 14 additions and 28 deletions

View File

@ -28,7 +28,7 @@ namespace NzbDrone.Api.Movies
int tmdbId = -1;
if (int.TryParse(Request.Query.tmdbId, out tmdbId))
{
var result = _movieInfo.GetMovieInfo(tmdbId, null, true).Item1;
var result = _movieInfo.GetMovieInfo(tmdbId, true).Item1;
return result.ToResource();
}

View File

@ -24,7 +24,7 @@ namespace NzbDrone.Core.Test.MetadataSource.SkyHook
[TestCase(70981, "Prometheus")]
public void should_be_able_to_get_movie_detail(int tmdbId, string title)
{
var details = Subject.GetMovieInfo(tmdbId, null, false).Item1;
var details = Subject.GetMovieInfo(tmdbId, false).Item1;
ValidateMovie(details);

View File

@ -33,14 +33,14 @@ namespace NzbDrone.Core.Test.MovieTests
.Returns(_movie);
Mocker.GetMock<IProvideMovieInfo>()
.Setup(s => s.GetMovieInfo(It.IsAny<int>(), It.IsAny<Profile>(), It.IsAny<bool>()))
.Callback<int, Profile, bool>((i, p, b) => { throw new MovieNotFoundException(i); });
.Setup(s => s.GetMovieInfo(It.IsAny<int>(), It.IsAny<bool>()))
.Callback<int, bool>((i, b) => { throw new MovieNotFoundException(i); });
}
private void GivenNewMovieInfo(Movie movie)
{
Mocker.GetMock<IProvideMovieInfo>()
.Setup(s => s.GetMovieInfo(_movie.TmdbId, It.IsAny<Profile>(), It.IsAny<bool>()))
.Setup(s => s.GetMovieInfo(_movie.TmdbId, It.IsAny<bool>()))
.Returns(new Tuple<Movie, List<Credit>>(movie, new List<Credit>()));
}

View File

@ -1,15 +1,14 @@
using System;
using System;
using System.Collections.Generic;
using NzbDrone.Core.Movies;
using NzbDrone.Core.Movies.Credits;
using NzbDrone.Core.Profiles;
namespace NzbDrone.Core.MetadataSource
{
public interface IProvideMovieInfo
{
Movie GetMovieInfo(string imdbId);
Tuple<Movie, List<Credit>> GetMovieInfo(int tmdbId, Profile profile, bool hasPreDBEntry);
Tuple<Movie, List<Credit>> GetMovieInfo(int tmdbId, bool hasPreDBEntry);
HashSet<int> GetChangedMovies(DateTime startTime);
}
}

View File

@ -20,7 +20,6 @@ using NzbDrone.Core.Movies.AlternativeTitles;
using NzbDrone.Core.Movies.Credits;
using NzbDrone.Core.NetImport.ImportExclusions;
using NzbDrone.Core.Parser;
using NzbDrone.Core.Profiles;
namespace NzbDrone.Core.MetadataSource.SkyHook
{
@ -79,9 +78,9 @@ namespace NzbDrone.Core.MetadataSource.SkyHook
return new HashSet<int>(response.Resource.results.Select(c => c.id));
}
public Tuple<Movie, List<Credit>> GetMovieInfo(int tmdbId, Profile profile, bool hasPreDBEntry)
public Tuple<Movie, List<Credit>> GetMovieInfo(int tmdbId, bool hasPreDBEntry)
{
var langCode = profile != null ? IsoLanguages.Get(profile.Language)?.TwoLetterCode ?? "en" : "en";
var langCode = "en";
var request = _movieBuilder.Create()
.SetSegment("api", "3")
@ -143,15 +142,6 @@ namespace NzbDrone.Core.MetadataSource.SkyHook
var movie = new Movie();
var altTitles = new List<AlternativeTitle>();
if (langCode != "en")
{
var iso = IsoLanguages.Find(resource.original_language);
if (iso != null)
{
altTitles.Add(new AlternativeTitle(resource.original_title, SourceType.TMDB, tmdbId, iso.Language));
}
}
foreach (var alternativeTitle in resource.alternative_titles.titles)
{
if (alternativeTitle.iso_3166_1.ToLower() == langCode)
@ -498,7 +488,7 @@ namespace NzbDrone.Core.MetadataSource.SkyHook
try
{
return new List<Movie> { GetMovieInfo(tmdbid, null, false).Item1 };
return new List<Movie> { GetMovieInfo(tmdbid, false).Item1 };
}
catch (MovieNotFoundException)
{
@ -735,7 +725,7 @@ namespace NzbDrone.Core.MetadataSource.SkyHook
Movie newMovie = movie;
if (movie.TmdbId > 0)
{
newMovie = GetMovieInfo(movie.TmdbId, null, false).Item1;
newMovie = GetMovieInfo(movie.TmdbId, false).Item1;
}
else if (movie.ImdbId.IsNotNullOrWhiteSpace())
{

View File

@ -26,7 +26,6 @@ namespace NzbDrone.Core.Movies
private readonly IAlternativeTitleService _titleService;
private readonly ICreditService _creditService;
private readonly IEventAggregator _eventAggregator;
private readonly IManageCommandQueue _commandQueueManager;
private readonly IDiskScanService _diskScanService;
private readonly ICheckIfMovieShouldBeRefreshed _checkIfMovieShouldBeRefreshed;
private readonly IConfigService _configService;
@ -42,7 +41,6 @@ namespace NzbDrone.Core.Movies
IDiskScanService diskScanService,
IRadarrAPIClient apiClient,
ICheckIfMovieShouldBeRefreshed checkIfMovieShouldBeRefreshed,
IManageCommandQueue commandQueue,
IConfigService configService,
Logger logger)
{
@ -52,7 +50,6 @@ namespace NzbDrone.Core.Movies
_creditService = creditService;
_eventAggregator = eventAggregator;
_apiClient = apiClient;
_commandQueueManager = commandQueue;
_diskScanService = diskScanService;
_checkIfMovieShouldBeRefreshed = checkIfMovieShouldBeRefreshed;
_configService = configService;
@ -68,7 +65,7 @@ namespace NzbDrone.Core.Movies
try
{
var tuple = _movieInfo.GetMovieInfo(movie.TmdbId, movie.Profile, movie.HasPreDBEntry);
var tuple = _movieInfo.GetMovieInfo(movie.TmdbId, movie.HasPreDBEntry);
movieInfo = tuple.Item1;
credits = tuple.Item2;
}
@ -87,7 +84,7 @@ namespace NzbDrone.Core.Movies
if (movie.TmdbId != movieInfo.TmdbId)
{
_logger.Warn("Movie '{0}' (TmdbId {1}) was replaced with '{2}' (TmdbId {3}), because the original was a duplicate.", movie.Title, movie.TmdbId, movieInfo.Title, movieInfo.TmdbId);
_logger.Warn("Movie '{0}' (Tmdbid {1}) was replaced with '{2}' (Tmdbid {3}), because the original was a duplicate.", movie.Title, movie.TmdbId, movieInfo.Title, movieInfo.TmdbId);
movie.TmdbId = movieInfo.TmdbId;
}

View File

@ -32,7 +32,7 @@ namespace Radarr.Api.V3.Movies
int tmdbId = -1;
if (int.TryParse(Request.Query.tmdbId, out tmdbId))
{
var result = _movieInfo.GetMovieInfo(tmdbId, null, true).Item1;
var result = _movieInfo.GetMovieInfo(tmdbId, true).Item1;
return result.ToResource();
}