diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-03-17 23:40:38 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-03-17 23:40:38 -0400 |
| commit | 79dc9f29d9bffae50a1fb24d8650d0ea73a73a45 (patch) | |
| tree | d30bed3a067e6c59d39547671b6a6f7646b268cc | |
| parent | 687c17c4c662bc5b6de372878efa5b8a87443e58 (diff) | |
support additional id formats for movies and series
| -rw-r--r-- | MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs | 21 | ||||
| -rw-r--r-- | MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs | 26 |
2 files changed, 37 insertions, 10 deletions
diff --git a/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs index 14c214f04..f27f0a191 100644 --- a/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs +++ b/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs @@ -36,13 +36,24 @@ namespace MediaBrowser.XbmcMetadata.Parsers switch (reader.Name) { case "id": - var id = reader.ReadElementContentAsString(); - if (!string.IsNullOrWhiteSpace(id)) { - item.SetProviderId(MetadataProviders.Imdb, id); - } - break; + string imdbId = reader.GetAttribute("IMDB"); + string tmdbId = reader.GetAttribute("TMDB"); + if (string.IsNullOrWhiteSpace(imdbId)) + { + imdbId = reader.ReadElementContentAsString(); + } + if (!string.IsNullOrWhiteSpace(imdbId)) + { + item.SetProviderId(MetadataProviders.Imdb, imdbId); + } + if (!string.IsNullOrWhiteSpace(tmdbId)) + { + item.SetProviderId(MetadataProviders.Tmdb, tmdbId); + } + break; + } case "set": { var movie = item as Movie; diff --git a/MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs index 03dba56e0..d5b5428c0 100644 --- a/MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs +++ b/MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs @@ -27,13 +27,29 @@ namespace MediaBrowser.XbmcMetadata.Parsers switch (reader.Name) { case "id": - string id = reader.ReadElementContentAsString(); - if (!string.IsNullOrWhiteSpace(id)) { - item.SetProviderId(MetadataProviders.Tvdb, id); - } - break; + string imdbId = reader.GetAttribute("IMDB"); + string tmdbId = reader.GetAttribute("TMDB"); + string tvdbId = reader.GetAttribute("TVDB"); + if (string.IsNullOrWhiteSpace(tvdbId)) + { + tvdbId = reader.ReadElementContentAsString(); + } + if (!string.IsNullOrWhiteSpace(imdbId)) + { + item.SetProviderId(MetadataProviders.Imdb, imdbId); + } + if (!string.IsNullOrWhiteSpace(tmdbId)) + { + item.SetProviderId(MetadataProviders.Tmdb, tmdbId); + } + if (!string.IsNullOrWhiteSpace(tvdbId)) + { + item.SetProviderId(MetadataProviders.Tvcom, tvdbId); + } + break; + } case "airs_dayofweek": { item.AirDays = TVUtils.GetAirDays(reader.ReadElementContentAsString()); |
