diff options
Diffstat (limited to 'MediaBrowser.Controller/Providers/BaseItemXmlParser.cs')
| -rw-r--r-- | MediaBrowser.Controller/Providers/BaseItemXmlParser.cs | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs index d06c89a01..c9efd2737 100644 --- a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs +++ b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs @@ -65,6 +65,7 @@ namespace MediaBrowser.Controller.Providers item.Studios.Clear(); item.Genres.Clear(); item.People.Clear(); + item.Tags.Clear(); // Use european encoding as it will accept more characters using (var streamReader = new StreamReader(metadataFile, Encoding.GetEncoding("ISO-8859-1"))) @@ -397,6 +398,7 @@ namespace MediaBrowser.Controller.Providers break; } + case "PremiereDate": case "FirstAired": { var firstAired = reader.ReadElementContentAsString(); @@ -453,6 +455,10 @@ namespace MediaBrowser.Controller.Providers FetchFromGenresNode(reader.ReadSubtree(), item); break; + case "Tags": + FetchFromTagsNode(reader.ReadSubtree(), item); + break; + case "Persons": FetchDataFromPersonsNode(reader.ReadSubtree(), item); break; @@ -539,6 +545,35 @@ namespace MediaBrowser.Controller.Providers } } + private void FetchFromTagsNode(XmlReader reader, T item) + { + reader.MoveToContent(); + + while (reader.Read()) + { + if (reader.NodeType == XmlNodeType.Element) + { + switch (reader.Name) + { + case "Tag": + { + var tag = reader.ReadElementContentAsString(); + + if (!string.IsNullOrWhiteSpace(tag)) + { + item.AddTagline(tag); + } + break; + } + + default: + reader.Skip(); + break; + } + } + } + } + /// <summary> /// Fetches the data from persons node. /// </summary> |
