From 4785623f6e02ab59960bb647d2a05ce6e1aa5574 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 2 Sep 2013 11:39:09 -0400 Subject: [PATCH] fixes #511 - Get Imdb rating for tv series using Omdb --- .../Entities/MetadataProviders.cs | 3 ++- .../Movies/OpenMovieDatabaseProvider.cs | 3 ++- .../TV/RemoteSeriesProvider.cs | 22 ++++++++++++++++++- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/MediaBrowser.Model/Entities/MetadataProviders.cs b/MediaBrowser.Model/Entities/MetadataProviders.cs index db784a35fc..b508be13b2 100644 --- a/MediaBrowser.Model/Entities/MetadataProviders.cs +++ b/MediaBrowser.Model/Entities/MetadataProviders.cs @@ -35,6 +35,7 @@ namespace MediaBrowser.Model.Entities /// Tmdb Collection Id /// TmdbCollection, - MusicBrainzReleaseGroup + MusicBrainzReleaseGroup, + Zap2It } } diff --git a/MediaBrowser.Providers/Movies/OpenMovieDatabaseProvider.cs b/MediaBrowser.Providers/Movies/OpenMovieDatabaseProvider.cs index f7c54be508..326e112a85 100644 --- a/MediaBrowser.Providers/Movies/OpenMovieDatabaseProvider.cs +++ b/MediaBrowser.Providers/Movies/OpenMovieDatabaseProvider.cs @@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Movies; +using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; @@ -98,7 +99,7 @@ namespace MediaBrowser.Providers.Movies return !trailer.IsLocalTrailer; } - return item is Movie || item is MusicVideo; + return item is Movie || item is MusicVideo || item is Series; } /// diff --git a/MediaBrowser.Providers/TV/RemoteSeriesProvider.cs b/MediaBrowser.Providers/TV/RemoteSeriesProvider.cs index edd60d3049..f39313f8ce 100644 --- a/MediaBrowser.Providers/TV/RemoteSeriesProvider.cs +++ b/MediaBrowser.Providers/TV/RemoteSeriesProvider.cs @@ -335,7 +335,27 @@ namespace MediaBrowser.Providers.TV { series.Overview = doc.SafeGetString("//Overview"); } - series.CommunityRating = doc.SafeGetSingle("//Rating", 0, 10); + + var imdbId = doc.SafeGetString("//IMDB_ID"); + + if (!string.IsNullOrWhiteSpace(imdbId)) + { + series.SetProviderId(MetadataProviders.Imdb, imdbId); + } + + var zap2ItId = doc.SafeGetString("//zap2it_id"); + + if (!string.IsNullOrWhiteSpace(zap2ItId)) + { + series.SetProviderId(MetadataProviders.Zap2It, zap2ItId); + } + + // Only fill this if it doesn't already have a value, since we get it from imdb which has better data + if (!series.CommunityRating.HasValue || string.IsNullOrWhiteSpace(series.GetProviderId(MetadataProviders.Imdb))) + { + series.CommunityRating = doc.SafeGetSingle("//Rating", 0, 10); + } + series.AirDays = TVUtils.GetAirDays(doc.SafeGetString("//Airs_DayOfWeek")); series.AirTime = doc.SafeGetString("//Airs_Time"); SeriesStatus seriesStatus;