diff options
Diffstat (limited to 'MediaBrowser.LocalMetadata/Parsers')
9 files changed, 73 insertions, 69 deletions
diff --git a/MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs index f89e29d54..772af0673 100644 --- a/MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs @@ -14,7 +14,7 @@ namespace MediaBrowser.LocalMetadata.Parsers { } - protected override void FetchDataFromXmlNode(XmlReader reader, BoxSet item) + protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<BoxSet> item) { switch (reader.Name) { @@ -32,7 +32,7 @@ namespace MediaBrowser.LocalMetadata.Parsers } } - private void FetchFromCollectionItemsNode(XmlReader reader, BoxSet item) + private void FetchFromCollectionItemsNode(XmlReader reader, MetadataResult<BoxSet> item) { reader.MoveToContent(); @@ -66,7 +66,7 @@ namespace MediaBrowser.LocalMetadata.Parsers } } - item.LinkedChildren = list; + item.Item.LinkedChildren = list; } } } diff --git a/MediaBrowser.LocalMetadata/Parsers/EpisodeXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/EpisodeXmlParser.cs index 8430f3b3c..08454c8e7 100644 --- a/MediaBrowser.LocalMetadata/Parsers/EpisodeXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/EpisodeXmlParser.cs @@ -1,13 +1,13 @@ -using System; +using MediaBrowser.Controller.Entities.TV; +using MediaBrowser.Controller.Providers; +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Logging; +using System; using System.Collections.Generic; using System.Globalization; using System.IO; using System.Threading; using System.Xml; -using MediaBrowser.Controller.Entities.TV; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; namespace MediaBrowser.LocalMetadata.Parsers { @@ -17,7 +17,6 @@ namespace MediaBrowser.LocalMetadata.Parsers public class EpisodeXmlParser : BaseItemXmlParser<Episode> { private List<LocalImageInfo> _imagesFound; - private List<ChapterInfo> _chaptersFound; public EpisodeXmlParser(ILogger logger) : base(logger) @@ -26,14 +25,12 @@ namespace MediaBrowser.LocalMetadata.Parsers private string _xmlPath; - public void Fetch(Episode item, + public void Fetch(MetadataResult<Episode> item, List<LocalImageInfo> images, - List<ChapterInfo> chapters, string metadataFile, CancellationToken cancellationToken) { _imagesFound = images; - _chaptersFound = chapters; _xmlPath = metadataFile; Fetch(item, metadataFile, cancellationToken); @@ -45,16 +42,13 @@ namespace MediaBrowser.LocalMetadata.Parsers /// Fetches the data from XML node. /// </summary> /// <param name="reader">The reader.</param> - /// <param name="item">The item.</param> - protected override void FetchDataFromXmlNode(XmlReader reader, Episode item) + /// <param name="result">The result.</param> + protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<Episode> result) { + var item = result.Item; + switch (reader.Name) { - case "Chapters": - - _chaptersFound.AddRange(FetchChaptersFromXmlNode(item, reader.ReadSubtree())); - break; - case "Episode": //MB generated metadata is within an "Episode" node @@ -67,7 +61,7 @@ namespace MediaBrowser.LocalMetadata.Parsers { if (subTree.NodeType == XmlNodeType.Element) { - FetchDataFromXmlNode(subTree, item); + FetchDataFromXmlNode(subTree, result); } } @@ -263,7 +257,7 @@ namespace MediaBrowser.LocalMetadata.Parsers default: - base.FetchDataFromXmlNode(reader, item); + base.FetchDataFromXmlNode(reader, result); break; } } diff --git a/MediaBrowser.LocalMetadata/Parsers/GameSystemXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/GameSystemXmlParser.cs index d449108c4..8ae0eafec 100644 --- a/MediaBrowser.LocalMetadata/Parsers/GameSystemXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/GameSystemXmlParser.cs @@ -16,7 +16,7 @@ namespace MediaBrowser.LocalMetadata.Parsers } private readonly Task _cachedTask = Task.FromResult(true); - public Task FetchAsync(GameSystem item, string metadataFile, CancellationToken cancellationToken) + public Task FetchAsync(MetadataResult<GameSystem> item, string metadataFile, CancellationToken cancellationToken) { Fetch(item, metadataFile, cancellationToken); @@ -29,9 +29,11 @@ namespace MediaBrowser.LocalMetadata.Parsers /// Fetches the data from XML node. /// </summary> /// <param name="reader">The reader.</param> - /// <param name="item">The item.</param> - protected override void FetchDataFromXmlNode(XmlReader reader, GameSystem item) + /// <param name="result">The result.</param> + protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<GameSystem> result) { + var item = result.Item; + switch (reader.Name) { case "GameSystem": @@ -56,7 +58,7 @@ namespace MediaBrowser.LocalMetadata.Parsers default: - base.FetchDataFromXmlNode(reader, item); + base.FetchDataFromXmlNode(reader, result); break; } } diff --git a/MediaBrowser.LocalMetadata/Parsers/GameXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/GameXmlParser.cs index 2caced8a9..b5a68c61f 100644 --- a/MediaBrowser.LocalMetadata/Parsers/GameXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/GameXmlParser.cs @@ -22,7 +22,7 @@ namespace MediaBrowser.LocalMetadata.Parsers } private readonly Task _cachedTask = Task.FromResult(true); - public Task FetchAsync(Game item, string metadataFile, CancellationToken cancellationToken) + public Task FetchAsync(MetadataResult<Game> item, string metadataFile, CancellationToken cancellationToken) { Fetch(item, metadataFile, cancellationToken); @@ -35,9 +35,11 @@ namespace MediaBrowser.LocalMetadata.Parsers /// Fetches the data from XML node. /// </summary> /// <param name="reader">The reader.</param> - /// <param name="item">The item.</param> - protected override void FetchDataFromXmlNode(XmlReader reader, Game item) + /// <param name="result">The result.</param> + protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<Game> result) { + var item = result.Item; + switch (reader.Name) { case "GameSystem": @@ -97,7 +99,7 @@ namespace MediaBrowser.LocalMetadata.Parsers default: - base.FetchDataFromXmlNode(reader, item); + base.FetchDataFromXmlNode(reader, result); break; } } diff --git a/MediaBrowser.LocalMetadata/Parsers/MovieXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/MovieXmlParser.cs index 388a0d20d..0b434231f 100644 --- a/MediaBrowser.LocalMetadata/Parsers/MovieXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/MovieXmlParser.cs @@ -1,43 +1,31 @@ -using System.Collections.Generic; -using System.Threading; -using System.Xml; -using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; +using System.Xml; namespace MediaBrowser.LocalMetadata.Parsers { /// <summary> /// Class EpisodeXmlParser /// </summary> - public class MovieXmlParser : BaseItemXmlParser<Video> + public class BaseVideoXmlParser<T> : BaseItemXmlParser<T> + where T : Video { - private List<ChapterInfo> _chaptersFound; - - public MovieXmlParser(ILogger logger) + public BaseVideoXmlParser(ILogger logger) : base(logger) { } - public void Fetch(Video item, - List<ChapterInfo> chapters, - string metadataFile, - CancellationToken cancellationToken) - { - _chaptersFound = chapters; - - Fetch(item, metadataFile, cancellationToken); - } - /// <summary> /// Fetches the data from XML node. /// </summary> /// <param name="reader">The reader.</param> - /// <param name="item">The item.</param> - protected override void FetchDataFromXmlNode(XmlReader reader, Video item) + /// <param name="result">The result.</param> + protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<T> result) { + var item = result.Item; + switch (reader.Name) { case "TmdbCollectionName": @@ -53,15 +41,25 @@ namespace MediaBrowser.LocalMetadata.Parsers break; } - case "Chapters": - - _chaptersFound.AddRange(FetchChaptersFromXmlNode(item, reader.ReadSubtree())); - break; - default: - base.FetchDataFromXmlNode(reader, item); + base.FetchDataFromXmlNode(reader, result); break; } } } + + public class MovieXmlParser : BaseVideoXmlParser<Movie> + { + public MovieXmlParser(ILogger logger) : base(logger) + { + } + } + + public class VideoXmlParser : BaseVideoXmlParser<Video> + { + public VideoXmlParser(ILogger logger) + : base(logger) + { + } + } } diff --git a/MediaBrowser.LocalMetadata/Parsers/MusicVideoXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/MusicVideoXmlParser.cs index f695487c5..d93746aa0 100644 --- a/MediaBrowser.LocalMetadata/Parsers/MusicVideoXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/MusicVideoXmlParser.cs @@ -6,7 +6,7 @@ using System.Xml; namespace MediaBrowser.LocalMetadata.Parsers { - public class MusicVideoXmlParser : BaseItemXmlParser<MusicVideo> + public class MusicVideoXmlParser : BaseVideoXmlParser<MusicVideo> { /// <summary> /// Initializes a new instance of the <see cref="BaseItemXmlParser{T}" /> class. @@ -21,9 +21,11 @@ namespace MediaBrowser.LocalMetadata.Parsers /// Fetches the data from XML node. /// </summary> /// <param name="reader">The reader.</param> - /// <param name="item">The item.</param> - protected override void FetchDataFromXmlNode(XmlReader reader, MusicVideo item) + /// <param name="result">The result.</param> + protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<MusicVideo> result) { + var item = result.Item; + switch (reader.Name) { case "Artist": @@ -44,7 +46,7 @@ namespace MediaBrowser.LocalMetadata.Parsers break; default: - base.FetchDataFromXmlNode(reader, item); + base.FetchDataFromXmlNode(reader, result); break; } } diff --git a/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs index 02457ee73..d4552fe12 100644 --- a/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs @@ -16,8 +16,10 @@ namespace MediaBrowser.LocalMetadata.Parsers { } - protected override void FetchDataFromXmlNode(XmlReader reader, Playlist item) + protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<Playlist> result) { + var item = result.Item; + switch (reader.Name) { case "OwnerUserId": @@ -59,7 +61,7 @@ namespace MediaBrowser.LocalMetadata.Parsers break; default: - base.FetchDataFromXmlNode(reader, item); + base.FetchDataFromXmlNode(reader, result); break; } } diff --git a/MediaBrowser.LocalMetadata/Parsers/SeasonXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/SeasonXmlParser.cs index 62a7d37cf..7fd60d3f7 100644 --- a/MediaBrowser.LocalMetadata/Parsers/SeasonXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/SeasonXmlParser.cs @@ -16,9 +16,11 @@ namespace MediaBrowser.LocalMetadata.Parsers /// Fetches the data from XML node. /// </summary> /// <param name="reader">The reader.</param> - /// <param name="item">The item.</param> - protected override void FetchDataFromXmlNode(XmlReader reader, Season item) + /// <param name="result">The result.</param> + protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<Season> result) { + var item = result.Item; + switch (reader.Name) { case "SeasonNumber": @@ -38,7 +40,7 @@ namespace MediaBrowser.LocalMetadata.Parsers } default: - base.FetchDataFromXmlNode(reader, item); + base.FetchDataFromXmlNode(reader, result); break; } } diff --git a/MediaBrowser.LocalMetadata/Parsers/SeriesXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/SeriesXmlParser.cs index a3d45034e..8133bd9fe 100644 --- a/MediaBrowser.LocalMetadata/Parsers/SeriesXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/SeriesXmlParser.cs @@ -26,9 +26,11 @@ namespace MediaBrowser.LocalMetadata.Parsers /// Fetches the data from XML node. /// </summary> /// <param name="reader">The reader.</param> - /// <param name="item">The item.</param> - protected override void FetchDataFromXmlNode(XmlReader reader, Series item) + /// <param name="result">The result.</param> + protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<Series> result) { + var item = result.Item; + switch (reader.Name) { case "Series": @@ -42,7 +44,7 @@ namespace MediaBrowser.LocalMetadata.Parsers { if (subTree.NodeType == XmlNodeType.Element) { - FetchDataFromXmlNode(subTree, item); + FetchDataFromXmlNode(subTree, result); } } @@ -110,7 +112,7 @@ namespace MediaBrowser.LocalMetadata.Parsers } default: - base.FetchDataFromXmlNode(reader, item); + base.FetchDataFromXmlNode(reader, result); break; } } |
