diff options
| author | Luke <luke.pulverenti@gmail.com> | 2015-04-28 11:03:34 -0400 |
|---|---|---|
| committer | Luke <luke.pulverenti@gmail.com> | 2015-04-28 11:03:34 -0400 |
| commit | 23da60856958e1a219cccafeb002ae182b3f812a (patch) | |
| tree | 52dfd1706f6ae3c8a6d133a105cc09d07d470db1 /MediaBrowser.LocalMetadata | |
| parent | e14fa7d8e5b8c97eafec6670797958593e4506f8 (diff) | |
| parent | 0442de79f4d2ad5d577cb7a5220386f23a7b3f12 (diff) | |
Merge pull request #1089 from MediaBrowser/dev
3.0.5597.0
Diffstat (limited to 'MediaBrowser.LocalMetadata')
| -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; + } } } |
