|
@@ -16,7 +16,6 @@ using System;
|
|
using System.Collections.Generic;
|
|
using System.Collections.Generic;
|
|
using System.Globalization;
|
|
using System.Globalization;
|
|
using System.IO;
|
|
using System.IO;
|
|
-using System.Linq;
|
|
|
|
using System.Threading;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
@@ -263,7 +262,7 @@ namespace MediaBrowser.Providers.Movies
|
|
return Path.Combine(path, filename);
|
|
return Path.Combine(path, filename);
|
|
}
|
|
}
|
|
|
|
|
|
- public static string GetImageLanguagesParam(ILocalizationManager localization, string preferredLanguage)
|
|
|
|
|
|
+ public static string GetImageLanguagesParam(string preferredLanguage)
|
|
{
|
|
{
|
|
var languages = new List<string>();
|
|
var languages = new List<string>();
|
|
|
|
|
|
@@ -277,18 +276,6 @@ namespace MediaBrowser.Providers.Movies
|
|
languages.Add("en");
|
|
languages.Add("en");
|
|
}
|
|
}
|
|
|
|
|
|
- var firstLetter = string.IsNullOrWhiteSpace(preferredLanguage)
|
|
|
|
- ? string.Empty
|
|
|
|
- : preferredLanguage.Substring(0, 1);
|
|
|
|
-
|
|
|
|
- var allLanguages = localization.GetCultures()
|
|
|
|
- .Select(i => i.TwoLetterISOLanguageName)
|
|
|
|
- .Distinct(StringComparer.OrdinalIgnoreCase)
|
|
|
|
- .Where(i => !languages.Contains(i, StringComparer.OrdinalIgnoreCase) && i.StartsWith(firstLetter, StringComparison.OrdinalIgnoreCase))
|
|
|
|
- .ToList();
|
|
|
|
-
|
|
|
|
- //languages.AddRange(allLanguages);
|
|
|
|
-
|
|
|
|
return string.Join(",", languages.ToArray());
|
|
return string.Join(",", languages.ToArray());
|
|
}
|
|
}
|
|
|
|
|
|
@@ -309,7 +296,7 @@ namespace MediaBrowser.Providers.Movies
|
|
url += string.Format("&language={0}", language);
|
|
url += string.Format("&language={0}", language);
|
|
}
|
|
}
|
|
|
|
|
|
- var includeImageLanguageParam = GetImageLanguagesParam(_localization, language);
|
|
|
|
|
|
+ var includeImageLanguageParam = GetImageLanguagesParam(language);
|
|
// Get images in english and with no language
|
|
// Get images in english and with no language
|
|
url += "&include_image_language=" + includeImageLanguageParam;
|
|
url += "&include_image_language=" + includeImageLanguageParam;
|
|
|
|
|
|
@@ -336,26 +323,29 @@ namespace MediaBrowser.Providers.Movies
|
|
|
|
|
|
cancellationToken.ThrowIfCancellationRequested();
|
|
cancellationToken.ThrowIfCancellationRequested();
|
|
|
|
|
|
- if (mainResult != null && string.IsNullOrEmpty(mainResult.overview))
|
|
|
|
|
|
+ // If the language preference isn't english, then have the overview fallback to english if it's blank
|
|
|
|
+ if (mainResult != null &&
|
|
|
|
+ string.IsNullOrEmpty(mainResult.overview) &&
|
|
|
|
+ !string.IsNullOrEmpty(language) &&
|
|
|
|
+ !string.Equals(language, "en", StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
{
|
|
- if (!string.IsNullOrEmpty(language) && !string.Equals(language, "en", StringComparison.OrdinalIgnoreCase))
|
|
|
|
- {
|
|
|
|
- _logger.Info("MovieDbProvider couldn't find meta for language " + language + ". Trying English...");
|
|
|
|
|
|
+ _logger.Info("MovieDbProvider couldn't find meta for language " + language + ". Trying English...");
|
|
|
|
|
|
- url = string.Format(GetMovieInfo3, id, ApiKey) + "&include_image_language=" + includeImageLanguageParam + "&language=en";
|
|
|
|
|
|
+ url = string.Format(GetMovieInfo3, id, ApiKey) + "&include_image_language=" + includeImageLanguageParam + "&language=en";
|
|
|
|
|
|
- using (var json = await GetMovieDbResponse(new HttpRequestOptions
|
|
|
|
- {
|
|
|
|
- Url = url,
|
|
|
|
- CancellationToken = cancellationToken,
|
|
|
|
- AcceptHeader = AcceptHeader,
|
|
|
|
- CacheMode = cacheMode,
|
|
|
|
- CacheLength = cacheLength
|
|
|
|
|
|
+ using (var json = await GetMovieDbResponse(new HttpRequestOptions
|
|
|
|
+ {
|
|
|
|
+ Url = url,
|
|
|
|
+ CancellationToken = cancellationToken,
|
|
|
|
+ AcceptHeader = AcceptHeader,
|
|
|
|
+ CacheMode = cacheMode,
|
|
|
|
+ CacheLength = cacheLength
|
|
|
|
|
|
- }).ConfigureAwait(false))
|
|
|
|
- {
|
|
|
|
- mainResult = _jsonSerializer.DeserializeFromStream<CompleteMovieData>(json);
|
|
|
|
- }
|
|
|
|
|
|
+ }).ConfigureAwait(false))
|
|
|
|
+ {
|
|
|
|
+ var englishResult = _jsonSerializer.DeserializeFromStream<CompleteMovieData>(json);
|
|
|
|
+
|
|
|
|
+ mainResult.overview = englishResult.overview;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|