aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs
diff options
context:
space:
mode:
authorTavares André <tavares_and@hotmail.com>2015-04-30 18:20:10 +0200
committerTavares André <tavares_and@hotmail.com>2015-04-30 18:20:10 +0200
commitfcb2bc2c8e37e75ffbd324bf242eed5eb4372fb5 (patch)
treeb79635656f847f4920acdfa3c0910c2ce2c2c36c /MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs
parentadc52db15a497a003cbea77cf11d907390390e96 (diff)
parenta4e28a60a4de902ef58ecfef54cb56250c23e5e7 (diff)
Merge branch 'dev' of https://github.com/MediaBrowser/MediaBrowser into dev
Diffstat (limited to 'MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs')
-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;
+ }
}
}