aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2013-10-29 07:21:24 -0700
committerLuke <luke.pulverenti@gmail.com>2013-10-29 07:21:24 -0700
commit9c93d064f52236793798036fea9a788c7b13f0a8 (patch)
treed2734f119fcc7b652449f4d3b45d7fbd67b3187e
parent67354bde5fc8dbf3520c419e2936bacf34e429a8 (diff)
parentef1dcd3423d9a14018e9953349de603380157f8a (diff)
Merge pull request #604 from thogil/tvdb_alias_names
tvdb series provider now considers alias names
-rw-r--r--MediaBrowser.Providers/TV/RemoteSeriesProvider.cs32
1 files changed, 24 insertions, 8 deletions
diff --git a/MediaBrowser.Providers/TV/RemoteSeriesProvider.cs b/MediaBrowser.Providers/TV/RemoteSeriesProvider.cs
index 322fcd228..5d518c0ea 100644
--- a/MediaBrowser.Providers/TV/RemoteSeriesProvider.cs
+++ b/MediaBrowser.Providers/TV/RemoteSeriesProvider.cs
@@ -1109,21 +1109,37 @@ namespace MediaBrowser.Providers.TV
var nodes = doc.SelectNodes("//Series");
var comparableName = GetComparableName(name);
if (nodes != null)
+ {
foreach (XmlNode node in nodes)
{
- var n = node.SelectSingleNode("./SeriesName");
- if (n != null && string.Equals(GetComparableName(n.InnerText), comparableName, StringComparison.OrdinalIgnoreCase))
+ var titles = new List<string>();
+
+ var nameNode = node.SelectSingleNode("./SeriesName");
+ if (nameNode != null)
+ {
+ titles.Add(GetComparableName(nameNode.InnerText));
+ }
+
+ var aliasNode = node.SelectSingleNode("./AliasNames");
+ if (aliasNode != null)
{
- n = node.SelectSingleNode("./seriesid");
- if (n != null)
- return n.InnerText;
+ var alias = aliasNode.InnerText.Split('|').Select(GetComparableName);
+ titles.AddRange(alias);
}
- else
+
+ if (titles.Any(t => string.Equals(t, comparableName, StringComparison.OrdinalIgnoreCase)))
{
- if (n != null)
- Logger.Info("TVDb Provider - " + n.InnerText + " did not match " + comparableName);
+ var id = node.SelectSingleNode("./seriesid");
+ if (id != null)
+ return id.InnerText;
+ }
+
+ foreach (var title in titles)
+ {
+ Logger.Info("TVDb Provider - " + title + " did not match " + comparableName);
}
}
+ }
}
// Try stripping off the year if it was supplied