diff options
| author | Tavares André <tavares_and@hotmail.com> | 2015-04-30 18:20:10 +0200 |
|---|---|---|
| committer | Tavares André <tavares_and@hotmail.com> | 2015-04-30 18:20:10 +0200 |
| commit | fcb2bc2c8e37e75ffbd324bf242eed5eb4372fb5 (patch) | |
| tree | b79635656f847f4920acdfa3c0910c2ce2c2c36c /MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs | |
| parent | adc52db15a497a003cbea77cf11d907390390e96 (diff) | |
| parent | a4e28a60a4de902ef58ecfef54cb56250c23e5e7 (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.cs | 45 |
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; + } } } |
