Removed culture-specific procesing. tmdb appears to have unified their vote average format. #133

pull/702/head
Eric Reed 12 years ago
parent d1ea7c63dc
commit 8aa9a5ec63

@ -33,6 +33,8 @@ namespace MediaBrowser.Controller.Providers.Movies
/// </summary>
public class MovieDbProvider : BaseMetadataProvider, IDisposable
{
protected static CultureInfo EnUs = new CultureInfo("en-US");
protected readonly IProviderManager ProviderManager;
/// <summary>
@ -551,7 +553,7 @@ namespace MediaBrowser.Controller.Providers.Movies
foreach (var possible in searchResult.results)
{
string matchedName = null;
string id = possible.id.ToString();
string id = possible.id.ToString(CultureInfo.InvariantCulture);
string n = possible.title;
if (GetComparableName(n, Logger) == compName)
{
@ -609,7 +611,8 @@ namespace MediaBrowser.Controller.Providers.Movies
{
DateTime r;
if (DateTime.TryParse(possible.release_date, out r))
//These dates are always in this exact format
if (DateTime.TryParseExact(possible.release_date, "yyyy-MM-dd", EnUs, DateTimeStyles.None, out r))
{
if (Math.Abs(r.Year - year.Value) > 1) // allow a 1 year tolerance on release date
{
@ -912,19 +915,10 @@ namespace MediaBrowser.Controller.Providers.Movies
if (!string.IsNullOrEmpty(movieData.tagline)) movie.AddTagline(movieData.tagline);
movie.SetProviderId(MetadataProviders.Imdb, movieData.imdb_id);
float rating;
string voteAvg = movieData.vote_average.ToString();
string cultureStr = ConfigurationManager.Configuration.PreferredMetadataLanguage + "-" + ConfigurationManager.Configuration.MetadataCountryCode;
CultureInfo culture;
try
{
culture = new CultureInfo(cultureStr);
}
catch
{
culture = CultureInfo.CurrentCulture; //default to windows settings if other was invalid
}
Logger.Debug("Culture for numeric conversion is: " + culture.Name);
if (float.TryParse(voteAvg, NumberStyles.AllowDecimalPoint, culture, out rating))
string voteAvg = movieData.vote_average.ToString(CultureInfo.InvariantCulture);
//tmdb appears to have unified their numbers to always report "7.3" regardless of country
// so I removed the culture-specific processing here because it was not working for other countries -ebr
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
@ -1060,7 +1054,7 @@ namespace MediaBrowser.Controller.Providers.Movies
var numToFetch = Math.Min(ConfigurationManager.Configuration.MaxBackdrops, images.backdrops.Count);
for (var i = 0; i < numToFetch; i++)
{
var bdName = "backdrop" + (i == 0 ? "" : i.ToString());
var bdName = "backdrop" + (i == 0 ? "" : i.ToString(CultureInfo.InvariantCulture));
if (ConfigurationManager.Configuration.RefreshItemImages || !item.HasLocalImage(bdName))
{

Loading…
Cancel
Save