diff options
| author | Luke <luke.pulverenti@gmail.com> | 2017-05-10 15:15:14 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-05-10 15:15:14 -0400 |
| commit | 6ee9da3717a563d110fc56c93478885d19449cce (patch) | |
| tree | f353dec0ac06811918b33f6deed4e7fbe3c27935 /MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs | |
| parent | 06a1393abed20137844f062e44cf8ae7feb9e8f6 (diff) | |
| parent | b9baf377e81e454438d9faad1b1b793a719bb667 (diff) | |
Merge pull request #2628 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs')
| -rw-r--r-- | MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs index dfd4694c3..d8f7cb57f 100644 --- a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs +++ b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs @@ -15,6 +15,7 @@ using System.Text; using System.Text.RegularExpressions; using System.Threading; using System.Xml; +using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Model.IO; using MediaBrowser.Model.Xml; @@ -227,6 +228,11 @@ namespace MediaBrowser.XbmcMetadata.Parsers } } + protected virtual string MovieDbParserSearchString + { + get { return "themoviedb.org/movie/"; } + } + private void ParseProviderLinks(T item, string xml) { //Look for a match for the Regex pattern "tt" followed by 7 digits @@ -238,7 +244,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers // Support Tmdb // http://www.themoviedb.org/movie/36557 - var srch = "themoviedb.org/movie/"; + var srch = MovieDbParserSearchString; var index = xml.IndexOf(srch, StringComparison.OrdinalIgnoreCase); if (index != -1) @@ -250,6 +256,23 @@ namespace MediaBrowser.XbmcMetadata.Parsers item.SetProviderId(MetadataProviders.Tmdb, tmdbId); } } + + if (item is Series) + { + srch = "thetvdb.com/?tab=series&id="; + + index = xml.IndexOf(srch, StringComparison.OrdinalIgnoreCase); + + if (index != -1) + { + var tvdbId = xml.Substring(index + srch.Length).TrimEnd('/'); + int value; + if (!string.IsNullOrWhiteSpace(tvdbId) && int.TryParse(tvdbId, NumberStyles.Any, CultureInfo.InvariantCulture, out value)) + { + item.SetProviderId(MetadataProviders.Tvdb, tvdbId); + } + } + } } protected virtual void FetchDataFromXmlNode(XmlReader reader, MetadataResult<T> itemResult) |
