From f23e957381eefa8096c220b504669d06db090cb0 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 17 Oct 2013 11:34:47 -0400 Subject: [PATCH] record tmdb collection name --- MediaBrowser.Controller/Entities/Movies/Movie.cs | 6 ++++++ MediaBrowser.Providers/Movies/MovieDbProvider.cs | 12 ++++++++++-- MediaBrowser.Providers/Movies/MovieXmlParser.cs | 15 +++++++++++++++ MediaBrowser.Providers/Savers/MovieXmlSaver.cs | 10 ++++++++++ 4 files changed, 41 insertions(+), 2 deletions(-) diff --git a/MediaBrowser.Controller/Entities/Movies/Movie.cs b/MediaBrowser.Controller/Entities/Movies/Movie.cs index 13ac913f27..516ee9a8ae 100644 --- a/MediaBrowser.Controller/Entities/Movies/Movie.cs +++ b/MediaBrowser.Controller/Entities/Movies/Movie.cs @@ -20,6 +20,12 @@ namespace MediaBrowser.Controller.Entities.Movies SpecialFeatureIds = new List(); } + /// + /// Gets or sets the name of the TMDB collection. + /// + /// The name of the TMDB collection. + public string TmdbCollectionName { get; set; } + /// /// Gets the user data key. /// diff --git a/MediaBrowser.Providers/Movies/MovieDbProvider.cs b/MediaBrowser.Providers/Movies/MovieDbProvider.cs index 6c65388482..46d6b0aa93 100644 --- a/MediaBrowser.Providers/Movies/MovieDbProvider.cs +++ b/MediaBrowser.Providers/Movies/MovieDbProvider.cs @@ -128,7 +128,7 @@ namespace MediaBrowser.Providers.Movies { get { - return "2"; + return "3"; } } @@ -674,7 +674,15 @@ namespace MediaBrowser.Providers.Movies if (movieData.belongs_to_collection != null) { - movie.SetProviderId(MetadataProviders.TmdbCollection, movieData.belongs_to_collection.id.ToString(CultureInfo.InvariantCulture)); + movie.SetProviderId(MetadataProviders.TmdbCollection, + movieData.belongs_to_collection.id.ToString(CultureInfo.InvariantCulture)); + + var movieItem = movie as Movie; + + if (movieItem != null) + { + movieItem.TmdbCollectionName = movieData.belongs_to_collection.name; + } } else { diff --git a/MediaBrowser.Providers/Movies/MovieXmlParser.cs b/MediaBrowser.Providers/Movies/MovieXmlParser.cs index 7361be04f5..61b73360cc 100644 --- a/MediaBrowser.Providers/Movies/MovieXmlParser.cs +++ b/MediaBrowser.Providers/Movies/MovieXmlParser.cs @@ -1,4 +1,5 @@ using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Persistence; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Logging; @@ -46,6 +47,20 @@ namespace MediaBrowser.Providers.Movies { switch (reader.Name) { + case "TmdbCollectionName": + + { + var val = reader.ReadElementContentAsString(); + var movie = item as Movie; + + if (!string.IsNullOrWhiteSpace(val) && movie != null) + { + movie.TmdbCollectionName = val; + } + + break; + } + case "Chapters": //_chaptersTask = FetchChaptersFromXmlNode(item, reader.ReadSubtree(), _itemRepo, CancellationToken.None); diff --git a/MediaBrowser.Providers/Savers/MovieXmlSaver.cs b/MediaBrowser.Providers/Savers/MovieXmlSaver.cs index 62820abbb4..77a74d829b 100644 --- a/MediaBrowser.Providers/Savers/MovieXmlSaver.cs +++ b/MediaBrowser.Providers/Savers/MovieXmlSaver.cs @@ -96,6 +96,16 @@ namespace MediaBrowser.Providers.Savers } } + var movie = item as Movie; + + if (movie != null) + { + if (!string.IsNullOrEmpty(movie.TmdbCollectionName)) + { + builder.Append("" + SecurityElement.Escape(movie.TmdbCollectionName) + ""); + } + } + var video = (Video)item; XmlSaverHelpers.AddMediaInfo(video, builder, _itemRepository);