aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuis Miguel Almánzar <ruisu15@gmail.com>2013-06-27 23:54:43 -0400
committerLuis Miguel Almánzar <ruisu15@gmail.com>2013-06-27 23:54:43 -0400
commit7731536c796aa35432cf16c518708cc64537980f (patch)
treecc32697557aa543e09bbe4be85da0fe99a90dc2a
parent7418a247cab3211418c5d603f59ed4843bb7c886 (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.cs26
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
{