aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.LocalMetadata
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2015-04-28 11:03:34 -0400
committerLuke <luke.pulverenti@gmail.com>2015-04-28 11:03:34 -0400
commit23da60856958e1a219cccafeb002ae182b3f812a (patch)
tree52dfd1706f6ae3c8a6d133a105cc09d07d470db1 /MediaBrowser.LocalMetadata
parente14fa7d8e5b8c97eafec6670797958593e4506f8 (diff)
parent0442de79f4d2ad5d577cb7a5220386f23a7b3f12 (diff)
Merge pull request #1089 from MediaBrowser/dev
3.0.5597.0
Diffstat (limited to 'MediaBrowser.LocalMetadata')
-rw-r--r--MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs45
1 files changed, 45 insertions, 0 deletions
diff --git a/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs
index a12724ff7..02457ee73 100644
--- a/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs
+++ b/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs
@@ -50,6 +50,14 @@ namespace MediaBrowser.LocalMetadata.Parsers
}
break;
+ case "Shares":
+
+ using (var subReader = reader.ReadSubtree())
+ {
+ FetchFromSharesNode(subReader, item);
+ }
+ break;
+
default:
base.FetchDataFromXmlNode(reader, item);
break;
@@ -92,5 +100,42 @@ namespace MediaBrowser.LocalMetadata.Parsers
item.LinkedChildren = list;
}
+
+ private void FetchFromSharesNode(XmlReader reader, Playlist item)
+ {
+ reader.MoveToContent();
+
+ var list = new List<Share>();
+
+ while (reader.Read())
+ {
+ if (reader.NodeType == XmlNodeType.Element)
+ {
+ switch (reader.Name)
+ {
+ case "Share":
+ {
+ using (var subReader = reader.ReadSubtree())
+ {
+ var child = GetShare(subReader);
+
+ if (child != null)
+ {
+ list.Add(child);
+ }
+ }
+
+ break;
+ }
+
+ default:
+ reader.Skip();
+ break;
+ }
+ }
+ }
+
+ item.Shares = list;
+ }
}
}