aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/Omdb/OmdbProvider.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Providers/Omdb/OmdbProvider.cs')
-rw-r--r--MediaBrowser.Providers/Omdb/OmdbProvider.cs23
1 files changed, 22 insertions, 1 deletions
diff --git a/MediaBrowser.Providers/Omdb/OmdbProvider.cs b/MediaBrowser.Providers/Omdb/OmdbProvider.cs
index 67aa35710..e55321bb1 100644
--- a/MediaBrowser.Providers/Omdb/OmdbProvider.cs
+++ b/MediaBrowser.Providers/Omdb/OmdbProvider.cs
@@ -1,5 +1,6 @@
using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Entities;
+using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Serialization;
using System;
using System.Globalization;
@@ -50,6 +51,20 @@ namespace MediaBrowser.Providers.Omdb
{
var result = _jsonSerializer.DeserializeFromStream<RootObject>(stream);
+ item.Name = result.Title;
+
+ int year;
+
+ if (!string.IsNullOrEmpty(result.Year)
+ && int.TryParse(result.Year, NumberStyles.Number, _usCulture, out year)
+ && year >= 0)
+ {
+ item.ProductionYear = year;
+ }
+
+ item.OfficialRating = result.Rated;
+
+
var hasCriticRating = item as IHasCriticRating;
if (hasCriticRating != null)
{
@@ -96,6 +111,12 @@ namespace MediaBrowser.Providers.Omdb
item.HomePageUrl = result.Website;
}
+ if (!string.IsNullOrWhiteSpace(result.imdbID)
+ && !string.Equals(result.imdbID, "n/a", StringComparison.OrdinalIgnoreCase))
+ {
+ item.SetProviderId(MetadataProviders.Imdb, result.imdbID);
+ }
+
ParseAdditionalMetadata(item, result);
}
}
@@ -153,7 +174,7 @@ namespace MediaBrowser.Providers.Omdb
return string.Equals(lang, "en", StringComparison.OrdinalIgnoreCase);
}
- public class RootObject
+ private class RootObject
{
public string Title { get; set; }
public string Year { get; set; }