diff options
| author | Luke <luke.pulverenti@gmail.com> | 2013-10-29 07:21:24 -0700 |
|---|---|---|
| committer | Luke <luke.pulverenti@gmail.com> | 2013-10-29 07:21:24 -0700 |
| commit | 9c93d064f52236793798036fea9a788c7b13f0a8 (patch) | |
| tree | d2734f119fcc7b652449f4d3b45d7fbd67b3187e | |
| parent | 67354bde5fc8dbf3520c419e2936bacf34e429a8 (diff) | |
| parent | ef1dcd3423d9a14018e9953349de603380157f8a (diff) | |
Merge pull request #604 from thogil/tvdb_alias_names
tvdb series provider now considers alias names
| -rw-r--r-- | MediaBrowser.Providers/TV/RemoteSeriesProvider.cs | 32 |
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 |
