|
|
|
@ -40,7 +40,7 @@ namespace MediaBrowser.Controller.Providers.Movies
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// The movie db
|
|
|
|
|
/// </summary>
|
|
|
|
|
internal readonly SemaphoreSlim MovieDbResourcePool = new SemaphoreSlim(3, 3);
|
|
|
|
|
internal readonly SemaphoreSlim MovieDbResourcePool = new SemaphoreSlim(2, 2);
|
|
|
|
|
|
|
|
|
|
internal static MovieDbProvider Current { get; private set; }
|
|
|
|
|
|
|
|
|
@ -488,25 +488,41 @@ namespace MediaBrowser.Controller.Providers.Movies
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
// try with dot and _ turned to space
|
|
|
|
|
var originalName = name;
|
|
|
|
|
|
|
|
|
|
name = name.Replace(",", " ");
|
|
|
|
|
name = name.Replace(".", " ");
|
|
|
|
|
name = name.Replace(" ", " ");
|
|
|
|
|
name = name.Replace("_", " ");
|
|
|
|
|
name = name.Replace("-", "");
|
|
|
|
|
id = await AttemptFindId(name, year, language, cancellationToken).ConfigureAwait(false);
|
|
|
|
|
if (id == null && language != "en")
|
|
|
|
|
|
|
|
|
|
// Search again if the new name is different
|
|
|
|
|
if (!string.Equals(name, originalName))
|
|
|
|
|
{
|
|
|
|
|
//one more time, in english
|
|
|
|
|
id = await AttemptFindId(name, year, "en", cancellationToken).ConfigureAwait(false);
|
|
|
|
|
id = await AttemptFindId(name, year, language, cancellationToken).ConfigureAwait(false);
|
|
|
|
|
|
|
|
|
|
if (id == null && language != "en")
|
|
|
|
|
{
|
|
|
|
|
//one more time, in english
|
|
|
|
|
id = await AttemptFindId(name, year, "en", cancellationToken).ConfigureAwait(false);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (id == null && item.LocationType == LocationType.FileSystem)
|
|
|
|
|
{
|
|
|
|
|
//last resort - try using the actual folder name
|
|
|
|
|
id = await AttemptFindId(Path.GetFileName(item.ResolveArgs.Path), year, "en", cancellationToken).ConfigureAwait(false);
|
|
|
|
|
var pathName = Path.GetFileName(item.ResolveArgs.Path);
|
|
|
|
|
|
|
|
|
|
// Only search if it's a name we haven't already tried.
|
|
|
|
|
if (!string.Equals(pathName, name, StringComparison.OrdinalIgnoreCase)
|
|
|
|
|
&& !string.Equals(pathName, originalName, StringComparison.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
id = await AttemptFindId(pathName, year, "en", cancellationToken).ConfigureAwait(false);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return id;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|