diff options
| author | Luis Miguel Almánzar <ruisu15@gmail.com> | 2013-06-27 23:54:43 -0400 |
|---|---|---|
| committer | Luis Miguel Almánzar <ruisu15@gmail.com> | 2013-06-27 23:54:43 -0400 |
| commit | 7731536c796aa35432cf16c518708cc64537980f (patch) | |
| tree | cc32697557aa543e09bbe4be85da0fe99a90dc2a | |
| parent | 7418a247cab3211418c5d603f59ed4843bb7c886 (diff) | |
Fixes #310 - Use minimun release date for movieDB provider if no matching user release code nor us release
| -rw-r--r-- | MediaBrowser.Providers/Movies/MovieDbProvider.cs | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/MediaBrowser.Providers/Movies/MovieDbProvider.cs b/MediaBrowser.Providers/Movies/MovieDbProvider.cs index eeae8b5fd..accddc75a 100644 --- a/MediaBrowser.Providers/Movies/MovieDbProvider.cs +++ b/MediaBrowser.Providers/Movies/MovieDbProvider.cs @@ -702,15 +702,22 @@ namespace MediaBrowser.Providers.Movies if (float.TryParse(voteAvg, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out rating)) movie.CommunityRating = rating; - //release date and certification are retrieved based on configured country and we fall back on US if not there + //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 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(); var ratingPrefix = ConfigurationManager.Configuration.MetadataCountryCode.Equals("us", StringComparison.OrdinalIgnoreCase) ? "" : ConfigurationManager.Configuration.MetadataCountryCode +"-"; - movie.OfficialRating = !string.IsNullOrEmpty(ourRelease.certification) ? ratingPrefix + ourRelease.certification : !string.IsNullOrEmpty(usRelease.certification) ? usRelease.certification : null; - - if (ourRelease.release_date > new DateTime(1900, 1, 1)) + movie.OfficialRating = !string.IsNullOrEmpty(ourRelease.certification) + ? ratingPrefix + ourRelease.certification + : !string.IsNullOrEmpty(usRelease.certification) + ? usRelease.certification + : !string.IsNullOrEmpty(minimunRelease.certification) + ? minimunRelease.iso_3166_1 + "-" + minimunRelease.certification + : null; + + if (ourRelease.release_date != default(DateTime)) { if (ourRelease.release_date.Year != 1) { @@ -718,7 +725,7 @@ namespace MediaBrowser.Providers.Movies movie.ProductionYear = ourRelease.release_date.Year; } } - else + else if(usRelease.release_date != default (DateTime)) { if (usRelease.release_date.Year != 1) { @@ -726,6 +733,15 @@ namespace MediaBrowser.Providers.Movies movie.ProductionYear = usRelease.release_date.Year; } } + else if (minimunRelease.release_date != default (DateTime)) + { + if (minimunRelease.release_date.Year != 1) + { + + movie.PremiereDate = minimunRelease.release_date.ToUniversalTime(); + movie.ProductionYear = minimunRelease.release_date.Year; + } + } } else { |
