diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-04-12 10:13:47 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-04-12 10:13:47 -0400 |
| commit | 192e1676a4d8db48a15316eede2041f0b1c9b48f (patch) | |
| tree | 496749741a6c392b90abefc50205367d20e1c912 /MediaBrowser.Controller | |
| parent | 6474c64904e9f091e0eba30ef1bd29936d9e0994 (diff) | |
Added Budget, EndDate, HomePageUrl, ProductionLocations,
Diffstat (limited to 'MediaBrowser.Controller')
5 files changed, 98 insertions, 1 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 4e63160fc6..15963a8073 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -478,6 +478,12 @@ namespace MediaBrowser.Controller.Entities public DateTime? PremiereDate { get; set; } /// <summary> + /// Gets or sets the end date. + /// </summary> + /// <value>The end date.</value> + public DateTime? EndDate { get; set; } + + /// <summary> /// Gets or sets the display type of the media. /// </summary> /// <value>The display type of the media.</value> @@ -552,6 +558,24 @@ namespace MediaBrowser.Controller.Entities public virtual List<string> Genres { get; set; } /// <summary> + /// Gets or sets the home page URL. + /// </summary> + /// <value>The home page URL.</value> + public string HomePageUrl { get; set; } + + /// <summary> + /// Gets or sets the budget. + /// </summary> + /// <value>The budget.</value> + public double Budget { get; set; } + + /// <summary> + /// Gets or sets the production locations. + /// </summary> + /// <value>The production locations.</value> + public List<string> ProductionLocations { get; set; } + + /// <summary> /// Gets or sets the community rating. /// </summary> /// <value>The community rating.</value> @@ -1064,7 +1088,7 @@ namespace MediaBrowser.Controller.Entities { if (string.IsNullOrWhiteSpace(name)) { - throw new ArgumentNullException(); + throw new ArgumentNullException("name"); } if (Genres == null) @@ -1079,6 +1103,29 @@ namespace MediaBrowser.Controller.Entities } /// <summary> + /// Adds the production location. + /// </summary> + /// <param name="location">The location.</param> + /// <exception cref="System.ArgumentNullException">location</exception> + public void AddProductionLocation(string location) + { + if (string.IsNullOrWhiteSpace(location)) + { + throw new ArgumentNullException("location"); + } + + if (ProductionLocations == null) + { + ProductionLocations = new List<string>(); + } + + if (!ProductionLocations.Contains(location, StringComparer.OrdinalIgnoreCase)) + { + ProductionLocations.Add(location); + } + } + + /// <summary> /// Adds genres to the item /// </summary> /// <param name="genres">The genres.</param> diff --git a/MediaBrowser.Controller/Library/DtoBuilder.cs b/MediaBrowser.Controller/Library/DtoBuilder.cs index 35aae68a07..7f9a6f1879 100644 --- a/MediaBrowser.Controller/Library/DtoBuilder.cs +++ b/MediaBrowser.Controller/Library/DtoBuilder.cs @@ -256,6 +256,26 @@ namespace MediaBrowser.Controller.Library dto.DisplayMediaType = item.DisplayMediaType; } + if (fields.Contains(ItemFields.Budget)) + { + dto.Budget = item.Budget; + } + + if (fields.Contains(ItemFields.EndDate)) + { + dto.EndDate = item.EndDate; + } + + if (fields.Contains(ItemFields.HomePageUrl)) + { + dto.HomePageUrl = item.HomePageUrl; + } + + if (fields.Contains(ItemFields.ProductionLocations)) + { + dto.ProductionLocations = item.ProductionLocations; + } + dto.AspectRatio = item.AspectRatio; dto.BackdropImageTags = GetBackdropImageTags(item); diff --git a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs index cbee793991..d539ed771d 100644 --- a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs +++ b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs @@ -121,6 +121,18 @@ namespace MediaBrowser.Controller.Providers break; } + case "Website": + { + var val = reader.ReadElementContentAsString(); + + if (!string.IsNullOrWhiteSpace(val)) + { + item.HomePageUrl = val; + } + + break; + } + case "TagLines": { FetchFromTaglinesNode(reader.ReadSubtree(), item); diff --git a/MediaBrowser.Controller/Providers/Movies/MovieDbProvider.cs b/MediaBrowser.Controller/Providers/Movies/MovieDbProvider.cs index ce03923e28..00d604d8db 100644 --- a/MediaBrowser.Controller/Providers/Movies/MovieDbProvider.cs +++ b/MediaBrowser.Controller/Providers/Movies/MovieDbProvider.cs @@ -897,6 +897,9 @@ namespace MediaBrowser.Controller.Providers.Movies movie.Name = movieData.title ?? movieData.original_title ?? movie.Name; movie.Overview = movieData.overview; movie.Overview = movie.Overview != null ? movie.Overview.Replace("\n\n", "\n") : null; + movie.HomePageUrl = movieData.homepage; + movie.Budget = movieData.budget; + if (!string.IsNullOrEmpty(movieData.tagline)) movie.AddTagline(movieData.tagline); movie.SetProviderId(MetadataProviders.Imdb, movieData.imdb_id); float rating; diff --git a/MediaBrowser.Controller/Providers/Movies/TmdbPersonProvider.cs b/MediaBrowser.Controller/Providers/Movies/TmdbPersonProvider.cs index f721a04eb5..49823b9b6e 100644 --- a/MediaBrowser.Controller/Providers/Movies/TmdbPersonProvider.cs +++ b/MediaBrowser.Controller/Providers/Movies/TmdbPersonProvider.cs @@ -234,6 +234,21 @@ namespace MediaBrowser.Controller.Providers.Movies person.PremiereDate = date; } + if (DateTime.TryParseExact(searchResult.Deathday, "yyyy-MM-dd", new CultureInfo("en-US"), DateTimeStyles.None, out date)) + { + person.EndDate = date; + } + + if (!string.IsNullOrEmpty(searchResult.Homepage)) + { + person.HomePageUrl = searchResult.Homepage; + } + + if (!string.IsNullOrEmpty(searchResult.Place_Of_Birth)) + { + person.AddProductionLocation(searchResult.Place_Of_Birth); + } + person.SetProviderId(MetadataProviders.Tmdb, searchResult.Id.ToString()); } |
