aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2017-05-10 14:02:08 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2017-05-10 14:02:08 -0400
commite9ea1d4ce27452b0c29d08f5dec6f4363aee9d14 (patch)
tree56b3cb95d170fc0f0b0e661edfda9633117078ff
parentf49d20033d81e9c2d1a335af603a5e56402014a9 (diff)
fixes #2559 - URL only movie.nfo does not seem to work at all
-rw-r--r--MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs25
-rw-r--r--MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs13
2 files changed, 37 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)
diff --git a/MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs
index 98016f4f7..b0db4e6f3 100644
--- a/MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs
+++ b/MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs
@@ -13,6 +13,19 @@ namespace MediaBrowser.XbmcMetadata.Parsers
{
public class SeriesNfoParser : BaseNfoParser<Series>
{
+ protected override bool SupportsUrlAfterClosingXmlTag
+ {
+ get
+ {
+ return true;
+ }
+ }
+
+ protected override string MovieDbParserSearchString
+ {
+ get { return "themoviedb.org/tv/"; }
+ }
+
/// <summary>
/// Fetches the data from XML node.
/// </summary>