aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Providers')
-rw-r--r--MediaBrowser.Providers/MediaInfo/FFProbeAudioInfoProvider.cs2
-rw-r--r--MediaBrowser.Providers/Movies/MovieDbProvider.cs29
-rw-r--r--MediaBrowser.Providers/Movies/MovieUpdatesPrescanTask.cs11
-rw-r--r--MediaBrowser.Providers/Savers/XmlSaverHelpers.cs6
4 files changed, 22 insertions, 26 deletions
diff --git a/MediaBrowser.Providers/MediaInfo/FFProbeAudioInfoProvider.cs b/MediaBrowser.Providers/MediaInfo/FFProbeAudioInfoProvider.cs
index 673abea570..c380072888 100644
--- a/MediaBrowser.Providers/MediaInfo/FFProbeAudioInfoProvider.cs
+++ b/MediaBrowser.Providers/MediaInfo/FFProbeAudioInfoProvider.cs
@@ -151,8 +151,6 @@ namespace MediaBrowser.Providers.MediaInfo
// Disc number
audio.ParentIndexNumber = GetDictionaryDiscValue(tags, "disc");
- audio.Language = GetDictionaryValue(tags, "language");
-
audio.ProductionYear = GetDictionaryNumericValue(tags, "date");
// Several different forms of retaildate
diff --git a/MediaBrowser.Providers/Movies/MovieDbProvider.cs b/MediaBrowser.Providers/Movies/MovieDbProvider.cs
index 52647b8a39..c6c9df6f7d 100644
--- a/MediaBrowser.Providers/Movies/MovieDbProvider.cs
+++ b/MediaBrowser.Providers/Movies/MovieDbProvider.cs
@@ -499,6 +499,7 @@ namespace MediaBrowser.Providers.Movies
// Id could be ImdbId or TmdbId
var language = item.GetPreferredMetadataLanguage();
+ var country = item.GetPreferredMetadataCountryCode();
var dataFilePath = GetDataFilePath(item);
@@ -514,9 +515,7 @@ namespace MediaBrowser.Providers.Movies
tmdbId = mainResult.id.ToString(_usCulture);
- var movieDataPath = GetMovieDataPath(ConfigurationManager.ApplicationPaths, isBoxSet, tmdbId);
-
- dataFilePath = Path.Combine(movieDataPath, "all.json");
+ dataFilePath = GetDataFilePath(isBoxSet, tmdbId, language);
var directory = Path.GetDirectoryName(dataFilePath);
@@ -527,7 +526,7 @@ namespace MediaBrowser.Providers.Movies
if (isForcedRefresh || ConfigurationManager.Configuration.EnableTmdbUpdates || !HasAltMeta(item))
{
- dataFilePath = GetDataFilePath(isBoxSet, tmdbId);
+ dataFilePath = GetDataFilePath(isBoxSet, tmdbId, language);
if (!string.IsNullOrEmpty(dataFilePath))
{
@@ -543,19 +542,18 @@ namespace MediaBrowser.Providers.Movies
/// </summary>
/// <param name="id">The id.</param>
/// <param name="isBoxSet">if set to <c>true</c> [is box set].</param>
- /// <param name="dataPath">The data path.</param>
/// <param name="preferredMetadataLanguage">The preferred metadata language.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task.</returns>
- internal async Task DownloadMovieInfo(string id, bool isBoxSet, string dataPath, string preferredMetadataLanguage, CancellationToken cancellationToken)
+ internal async Task DownloadMovieInfo(string id, bool isBoxSet, string preferredMetadataLanguage, CancellationToken cancellationToken)
{
var mainResult = await FetchMainResult(id, isBoxSet, preferredMetadataLanguage, cancellationToken).ConfigureAwait(false);
if (mainResult == null) return;
- var dataFilePath = Path.Combine(dataPath, "all.json");
+ var dataFilePath = GetDataFilePath(isBoxSet, id, preferredMetadataLanguage);
- Directory.CreateDirectory(dataPath);
+ Directory.CreateDirectory(Path.GetDirectoryName(dataFilePath));
JsonSerializer.SerializeToFile(mainResult, dataFilePath);
}
@@ -574,14 +572,17 @@ namespace MediaBrowser.Providers.Movies
return null;
}
- return GetDataFilePath(item is BoxSet, id);
+ return GetDataFilePath(item is BoxSet, id, item.GetPreferredMetadataLanguage());
}
- internal string GetDataFilePath(bool isBoxset, string tmdbId)
+ internal string GetDataFilePath(bool isBoxset, string tmdbId, string preferredLanguage)
{
var path = GetMovieDataPath(ConfigurationManager.ApplicationPaths, isBoxset, tmdbId);
- return Path.Combine(path, "all.json");
+ var filename = string.Format("all-{0}.json",
+ preferredLanguage ?? string.Empty);
+
+ return Path.Combine(path, filename);
}
/// <summary>
@@ -730,16 +731,18 @@ namespace MediaBrowser.Providers.Movies
movie.VoteCount = movieData.vote_count;
}
+ var preferredCountryCode = movie.GetPreferredMetadataCountryCode();
+
//release date and certification are retrieved based on configured country and we fall back on US if not there and to minimun release date if still no match
if (movieData.releases != null && movieData.releases.countries != null)
{
- var ourRelease = movieData.releases.countries.FirstOrDefault(c => c.iso_3166_1.Equals(ConfigurationManager.Configuration.MetadataCountryCode, StringComparison.OrdinalIgnoreCase)) ?? new Country();
+ var ourRelease = movieData.releases.countries.FirstOrDefault(c => c.iso_3166_1.Equals(preferredCountryCode, StringComparison.OrdinalIgnoreCase)) ?? new Country();
var usRelease = movieData.releases.countries.FirstOrDefault(c => c.iso_3166_1.Equals("US", StringComparison.OrdinalIgnoreCase)) ?? new Country();
var minimunRelease = movieData.releases.countries.OrderBy(c => c.release_date).FirstOrDefault() ?? new Country();
if (!movie.LockedFields.Contains(MetadataFields.OfficialRating))
{
- var ratingPrefix = ConfigurationManager.Configuration.MetadataCountryCode.Equals("us", StringComparison.OrdinalIgnoreCase) ? "" : ConfigurationManager.Configuration.MetadataCountryCode + "-";
+ var ratingPrefix = string.Equals(preferredCountryCode, "us", StringComparison.OrdinalIgnoreCase) ? "" : preferredCountryCode + "-";
movie.OfficialRating = !string.IsNullOrEmpty(ourRelease.certification)
? ratingPrefix + ourRelease.certification
: !string.IsNullOrEmpty(usRelease.certification)
diff --git a/MediaBrowser.Providers/Movies/MovieUpdatesPrescanTask.cs b/MediaBrowser.Providers/Movies/MovieUpdatesPrescanTask.cs
index 4fe77b1238..291d2ff4dd 100644
--- a/MediaBrowser.Providers/Movies/MovieUpdatesPrescanTask.cs
+++ b/MediaBrowser.Providers/Movies/MovieUpdatesPrescanTask.cs
@@ -219,7 +219,7 @@ namespace MediaBrowser.Providers.Movies
{
try
{
- await UpdateMovie(id, isBoxSet, moviesDataPath, language, cancellationToken).ConfigureAwait(false);
+ await UpdateMovie(id, isBoxSet, language, cancellationToken).ConfigureAwait(false);
}
catch (Exception ex)
{
@@ -241,19 +241,14 @@ namespace MediaBrowser.Providers.Movies
/// </summary>
/// <param name="id">The id.</param>
/// <param name="isBoxSet">if set to <c>true</c> [is box set].</param>
- /// <param name="dataPath">The data path.</param>
/// <param name="preferredMetadataLanguage">The preferred metadata language.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task.</returns>
- private Task UpdateMovie(string id, bool isBoxSet, string dataPath, string preferredMetadataLanguage, CancellationToken cancellationToken)
+ private Task UpdateMovie(string id, bool isBoxSet, string preferredMetadataLanguage, CancellationToken cancellationToken)
{
_logger.Info("Updating movie from tmdb " + id + ", language " + preferredMetadataLanguage);
- var itemDataPath = Path.Combine(dataPath, id);
-
- Directory.CreateDirectory(dataPath);
-
- return MovieDbProvider.Current.DownloadMovieInfo(id, isBoxSet, itemDataPath, preferredMetadataLanguage, cancellationToken);
+ return MovieDbProvider.Current.DownloadMovieInfo(id, isBoxSet, preferredMetadataLanguage, cancellationToken);
}
class Result
diff --git a/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs b/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs
index ff866fcb23..dc2d5eddd5 100644
--- a/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs
+++ b/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs
@@ -326,12 +326,12 @@ namespace MediaBrowser.Providers.Savers
}
}
- var hasLanguage = item as IHasLanguage;
+ var hasLanguage = item as IHasPreferredMetadataLanguage;
if (hasLanguage != null)
{
- if (!string.IsNullOrEmpty(hasLanguage.Language))
+ if (!string.IsNullOrEmpty(hasLanguage.PreferredMetadataLanguage))
{
- builder.Append("<Language>" + SecurityElement.Escape(hasLanguage.Language) + "</Language>");
+ builder.Append("<Language>" + SecurityElement.Escape(hasLanguage.PreferredMetadataLanguage) + "</Language>");
}
}