aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Providers/BaseItemXmlParser.cs')
-rw-r--r--MediaBrowser.Controller/Providers/BaseItemXmlParser.cs35
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>