aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-08-02 22:16:37 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-08-02 22:16:37 -0400
commit2714127d2b663b735048da6d9def08efa38f2b5f (patch)
treeb260b23486fddf75d2dfa292544c7e03c05a74ce /MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
parentf0464dfa17d146f34849e45097085b891e51ebc8 (diff)
fixes #791 - Support server-side playlists
Diffstat (limited to 'MediaBrowser.Controller/Providers/BaseItemXmlParser.cs')
-rw-r--r--MediaBrowser.Controller/Providers/BaseItemXmlParser.cs72
1 files changed, 72 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
index 3cb90d360..7e6895ec5 100644
--- a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
+++ b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
@@ -1283,6 +1283,78 @@ namespace MediaBrowser.Controller.Providers
return new[] { personInfo };
}
+ protected LinkedChild GetLinkedChild(XmlReader reader)
+ {
+ reader.MoveToContent();
+
+ var linkedItem = new LinkedChild
+ {
+ Type = LinkedChildType.Manual
+ };
+
+ while (reader.Read())
+ {
+ if (reader.NodeType == XmlNodeType.Element)
+ {
+ switch (reader.Name)
+ {
+ case "Name":
+ {
+ linkedItem.ItemName = reader.ReadElementContentAsString();
+ break;
+ }
+
+ case "Type":
+ {
+ linkedItem.ItemType = reader.ReadElementContentAsString();
+ break;
+ }
+
+ case "Year":
+ {
+ var val = reader.ReadElementContentAsString();
+
+ if (!string.IsNullOrWhiteSpace(val))
+ {
+ int rval;
+
+ if (int.TryParse(val, NumberStyles.Integer, _usCulture, out rval))
+ {
+ linkedItem.ItemYear = rval;
+ }
+ }
+
+ break;
+ }
+
+ case "IndexNumber":
+ {
+ var val = reader.ReadElementContentAsString();
+
+ if (!string.IsNullOrWhiteSpace(val))
+ {
+ int rval;
+
+ if (int.TryParse(val, NumberStyles.Integer, _usCulture, out rval))
+ {
+ linkedItem.ItemIndexNumber = rval;
+ }
+ }
+
+ break;
+ }
+
+ default:
+ reader.Skip();
+ break;
+ }
+ }
+ }
+
+ return string.IsNullOrWhiteSpace(linkedItem.ItemName) || string.IsNullOrWhiteSpace(linkedItem.ItemType) ? null : linkedItem;
+ }
+
+
/// <summary>
/// Used to split names of comma or pipe delimeted genres and people
/// </summary>