diff options
Diffstat (limited to 'MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs')
| -rw-r--r-- | MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs | 62 |
1 files changed, 36 insertions, 26 deletions
diff --git a/MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs index e595e9d06..7df800971 100644 --- a/MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs @@ -3,15 +3,27 @@ using System.Xml; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.IO; -using MediaBrowser.Model.Xml; using Microsoft.Extensions.Logging; namespace MediaBrowser.LocalMetadata.Parsers { + /// <summary> + /// The box set xml parser. + /// </summary> public class BoxSetXmlParser : BaseItemXmlParser<BoxSet> { - protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<BoxSet> item) + /// <summary> + /// Initializes a new instance of the <see cref="BoxSetXmlParser"/> class. + /// </summary> + /// <param name="logger">Instance of the <see cref="ILogger{BoxSetXmlParset}"/> interface.</param> + /// <param name="providerManager">Instance of the <see cref="IProviderManager"/> interface.</param> + public BoxSetXmlParser(ILogger<BoxSetXmlParser> logger, IProviderManager providerManager) + : base(logger, providerManager) + { + } + + /// <inheritdoc /> + protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<BoxSet> itemResult) { switch (reader.Name) { @@ -21,17 +33,18 @@ namespace MediaBrowser.LocalMetadata.Parsers { using (var subReader = reader.ReadSubtree()) { - FetchFromCollectionItemsNode(subReader, item); + FetchFromCollectionItemsNode(subReader, itemResult); } } else { reader.Read(); } + break; default: - base.FetchDataFromXmlNode(reader, item); + base.FetchDataFromXmlNode(reader, itemResult); break; } } @@ -51,31 +64,32 @@ namespace MediaBrowser.LocalMetadata.Parsers switch (reader.Name) { case "CollectionItem": + { + if (!reader.IsEmptyElement) { - if (!reader.IsEmptyElement) + using (var subReader = reader.ReadSubtree()) { - using (var subReader = reader.ReadSubtree()) - { - var child = GetLinkedChild(subReader); + var child = GetLinkedChild(subReader); - if (child != null) - { - list.Add(child); - } + if (child != null) + { + list.Add(child); } } - else - { - reader.Read(); - } - - break; } - default: + else { - reader.Skip(); - break; + reader.Read(); } + + break; + } + + default: + { + reader.Skip(); + break; + } } } else @@ -86,9 +100,5 @@ namespace MediaBrowser.LocalMetadata.Parsers item.Item.LinkedChildren = list.ToArray(); } - - public BoxSetXmlParser(ILogger logger, IProviderManager providerManager, IXmlReaderSettingsFactory xmlReaderSettingsFactory, IFileSystem fileSystem) : base(logger, providerManager, xmlReaderSettingsFactory, fileSystem) - { - } } } |
