From ef1dcd3423d9a14018e9953349de603380157f8a Mon Sep 17 00:00:00 2001 From: Thomas Gillen Date: Mon, 28 Oct 2013 13:59:13 +0000 Subject: [PATCH] tvdb series provider now considers alias names --- .../TV/RemoteSeriesProvider.cs | 32 ++++++++++++++----- 1 file 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(); + + var nameNode = node.SelectSingleNode("./SeriesName"); + if (nameNode != null) { - n = node.SelectSingleNode("./seriesid"); - if (n != null) - return n.InnerText; + titles.Add(GetComparableName(nameNode.InnerText)); } - else + + var aliasNode = node.SelectSingleNode("./AliasNames"); + if (aliasNode != null) { - if (n != null) - Logger.Info("TVDb Provider - " + n.InnerText + " did not match " + comparableName); + var alias = aliasNode.InnerText.Split('|').Select(GetComparableName); + titles.AddRange(alias); + } + + if (titles.Any(t => string.Equals(t, comparableName, StringComparison.OrdinalIgnoreCase))) + { + 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