If second cleaning results in same name skip lookup

This commit is contained in:
Erik Rigtorp 2020-05-14 16:55:55 -07:00
parent de35183903
commit e02e041b23

View File

@ -76,7 +76,7 @@ namespace MediaBrowser.Providers.Tmdb.Movies
var tmdbImageUrl = tmdbSettings.images.GetImageUrl("original"); var tmdbImageUrl = tmdbSettings.images.GetImageUrl("original");
// Does this mean we are reparsing already parsed ItemLookupInfo? // TODO: Investigate: Does this mean we are reparsing already parsed ItemLookupInfo?
var parsedName = _libraryManager.ParseName(name); var parsedName = _libraryManager.ParseName(name);
var yearInName = parsedName.Year; var yearInName = parsedName.Year;
name = parsedName.Name; name = parsedName.Name;
@ -105,30 +105,30 @@ namespace MediaBrowser.Providers.Tmdb.Movies
// providers // providers
if (results.Count == 0) if (results.Count == 0)
{ {
name = parsedName.Name; var name2 = parsedName.Name;
// Remove things enclosed in []{}() etc // Remove things enclosed in []{}() etc
name = _cleanEnclosed.Replace(name, string.Empty); name2 = _cleanEnclosed.Replace(name2, string.Empty);
// Replace sequences of non-word characters with space // Replace sequences of non-word characters with space
name = _cleanNonWord.Replace(name, " "); name2 = _cleanNonWord.Replace(name2, " ");
// Clean based on common stop words / tokens // Clean based on common stop words / tokens
name = _cleanStopWords.Replace(name, string.Empty); name2 = _cleanStopWords.Replace(name2, string.Empty);
// Trim whitespace // Trim whitespace
name = name.Trim(); name2 = name2.Trim();
// Search again if the new name is different // Search again if the new name is different
if (!string.Equals(name, parsedName.Name) && !string.IsNullOrWhiteSpace(name)) if (!string.Equals(name2, name) && !string.IsNullOrWhiteSpace(name2))
{ {
_logger.LogInformation("TmdbSearch: Finding id for item: {0} ({1})", name, year); _logger.LogInformation("TmdbSearch: Finding id for item: {0} ({1})", name2, year);
results = await GetSearchResults(name, searchType, year, language, tmdbImageUrl, cancellationToken).ConfigureAwait(false); results = await GetSearchResults(name2, searchType, year, language, tmdbImageUrl, cancellationToken).ConfigureAwait(false);
if (results.Count == 0 && !string.Equals(language, "en", StringComparison.OrdinalIgnoreCase)) if (results.Count == 0 && !string.Equals(language, "en", StringComparison.OrdinalIgnoreCase))
{ {
//one more time, in english //one more time, in english
results = await GetSearchResults(name, searchType, year, "en", tmdbImageUrl, cancellationToken).ConfigureAwait(false); results = await GetSearchResults(name2, searchType, year, "en", tmdbImageUrl, cancellationToken).ConfigureAwait(false);
} }
} }
} }