Luke Pulverenti 11 years ago
commit fa53ad940f

@ -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>
@ -548,7 +550,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)
{
@ -606,7 +608,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
{
@ -909,19 +912,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
@ -1057,7 +1051,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