aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs
diff options
context:
space:
mode:
authorCody Robibero <cody@robibe.ro>2020-06-20 15:33:13 -0600
committerGitHub <noreply@github.com>2020-06-20 15:33:13 -0600
commit43221fc26b46ac8d55b8bac7cec859dc8ec3883b (patch)
treebe1fbaf44475fc5aa21df24ac8e5f3cf05abc7c9 /MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs
parent46006a1aff5759e9843813a9d31dc79672af71d5 (diff)
parentbb947718eaee3a8381d9b9e6ed926676de39d7c9 (diff)
Merge branch 'master' into SSDP
Diffstat (limited to 'MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs')
-rw-r--r--MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs65
1 files changed, 38 insertions, 27 deletions
diff --git a/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs
index 5608a0be9..78c0fa8ad 100644
--- a/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs
+++ b/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs
@@ -7,8 +7,22 @@ using Microsoft.Extensions.Logging;
namespace MediaBrowser.LocalMetadata.Parsers
{
+ /// <summary>
+ /// Playlist xml parser.
+ /// </summary>
public class PlaylistXmlParser : BaseItemXmlParser<Playlist>
{
+ /// <summary>
+ /// Initializes a new instance of the <see cref="PlaylistXmlParser"/> class.
+ /// </summary>
+ /// <param name="logger">Instance of the <see cref="ILogger{PlaylistXmlParser}"/> interface.</param>
+ /// <param name="providerManager">Instance of the <see cref="IProviderManager"/> interface.</param>
+ public PlaylistXmlParser(ILogger<PlaylistXmlParser> logger, IProviderManager providerManager)
+ : base(logger, providerManager)
+ {
+ }
+
+ /// <inheritdoc />
protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<Playlist> result)
{
var item = result.Item;
@@ -16,11 +30,11 @@ namespace MediaBrowser.LocalMetadata.Parsers
switch (reader.Name)
{
case "PlaylistMediaType":
- {
- item.PlaylistMediaType = reader.ReadElementContentAsString();
+ {
+ item.PlaylistMediaType = reader.ReadElementContentAsString();
- break;
- }
+ break;
+ }
case "PlaylistItems":
@@ -35,6 +49,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
{
reader.Read();
}
+
break;
default:
@@ -58,30 +73,31 @@ namespace MediaBrowser.LocalMetadata.Parsers
switch (reader.Name)
{
case "PlaylistItem":
+ {
+ if (reader.IsEmptyElement)
{
- if (reader.IsEmptyElement)
- {
- reader.Read();
- continue;
- }
+ reader.Read();
+ continue;
+ }
- using (var subReader = reader.ReadSubtree())
- {
- var child = GetLinkedChild(subReader);
+ using (var subReader = reader.ReadSubtree())
+ {
+ var child = GetLinkedChild(subReader);
- if (child != null)
- {
- list.Add(child);
- }
+ if (child != null)
+ {
+ list.Add(child);
}
-
- break;
}
+
+ break;
+ }
+
default:
- {
- reader.Skip();
- break;
- }
+ {
+ reader.Skip();
+ break;
+ }
}
}
else
@@ -92,10 +108,5 @@ namespace MediaBrowser.LocalMetadata.Parsers
item.LinkedChildren = list.ToArray();
}
-
- public PlaylistXmlParser(ILogger logger, IProviderManager providerManager)
- : base(logger, providerManager)
- {
- }
}
}