diff options
Diffstat (limited to 'MediaBrowser.LocalMetadata')
31 files changed, 130 insertions, 120 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; } } diff --git a/MediaBrowser.LocalMetadata/Providers/BoxSetXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/BoxSetXmlProvider.cs index 6e40c3594..98a5d5e91 100644 --- a/MediaBrowser.LocalMetadata/Providers/BoxSetXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/BoxSetXmlProvider.cs @@ -23,7 +23,7 @@ namespace MediaBrowser.LocalMetadata.Providers protected override void Fetch(LocalMetadataResult<BoxSet> result, string path, CancellationToken cancellationToken) { - new BoxSetXmlParser(_logger).Fetch(result.Item, path, cancellationToken); + new BoxSetXmlParser(_logger).Fetch(result, path, cancellationToken); } protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService) diff --git a/MediaBrowser.LocalMetadata/Providers/EpisodeXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/EpisodeXmlProvider.cs index d80009330..c1fc1ba5e 100644 --- a/MediaBrowser.LocalMetadata/Providers/EpisodeXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/EpisodeXmlProvider.cs @@ -25,10 +25,9 @@ namespace MediaBrowser.LocalMetadata.Providers var images = new List<LocalImageInfo>(); var chapters = new List<ChapterInfo>(); - new EpisodeXmlParser(_logger).Fetch(result.Item, images, chapters, path, cancellationToken); + new EpisodeXmlParser(_logger).Fetch(result, images, path, cancellationToken); result.Images = images; - result.Chapters = chapters; } protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService) diff --git a/MediaBrowser.LocalMetadata/Providers/FolderXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/FolderXmlProvider.cs index 0a2b33744..d18e92f16 100644 --- a/MediaBrowser.LocalMetadata/Providers/FolderXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/FolderXmlProvider.cs @@ -22,7 +22,7 @@ namespace MediaBrowser.LocalMetadata.Providers protected override void Fetch(LocalMetadataResult<Folder> result, string path, CancellationToken cancellationToken) { - new BaseItemXmlParser<Folder>(_logger).Fetch(result.Item, path, cancellationToken); + new BaseItemXmlParser<Folder>(_logger).Fetch(result, path, cancellationToken); } protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService) diff --git a/MediaBrowser.LocalMetadata/Providers/GameSystemXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/GameSystemXmlProvider.cs index dd486da1d..9d86edbf9 100644 --- a/MediaBrowser.LocalMetadata/Providers/GameSystemXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/GameSystemXmlProvider.cs @@ -20,7 +20,7 @@ namespace MediaBrowser.LocalMetadata.Providers protected override void Fetch(LocalMetadataResult<GameSystem> result, string path, CancellationToken cancellationToken) { - new GameSystemXmlParser(_logger).Fetch(result.Item, path, cancellationToken); + new GameSystemXmlParser(_logger).Fetch(result, path, cancellationToken); } protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService) diff --git a/MediaBrowser.LocalMetadata/Providers/GameXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/GameXmlProvider.cs index 0a25ce9b6..97a3da147 100644 --- a/MediaBrowser.LocalMetadata/Providers/GameXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/GameXmlProvider.cs @@ -20,7 +20,7 @@ namespace MediaBrowser.LocalMetadata.Providers protected override void Fetch(LocalMetadataResult<Game> result, string path, CancellationToken cancellationToken) { - new GameXmlParser(_logger).Fetch(result.Item, path, cancellationToken); + new GameXmlParser(_logger).Fetch(result, path, cancellationToken); } protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService) diff --git a/MediaBrowser.LocalMetadata/Providers/MovieXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/MovieXmlProvider.cs index fb3a01bf2..09f13b2ea 100644 --- a/MediaBrowser.LocalMetadata/Providers/MovieXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/MovieXmlProvider.cs @@ -2,9 +2,7 @@ using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Providers; using MediaBrowser.LocalMetadata.Parsers; -using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; -using System.Collections.Generic; using System.IO; using System.Threading; @@ -22,11 +20,7 @@ namespace MediaBrowser.LocalMetadata.Providers protected override void Fetch(LocalMetadataResult<Movie> result, string path, CancellationToken cancellationToken) { - var chapters = new List<ChapterInfo>(); - - new MovieXmlParser(_logger).Fetch(result.Item, chapters, path, cancellationToken); - - result.Chapters = chapters; + new MovieXmlParser(_logger).Fetch(result, path, cancellationToken); } protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService) diff --git a/MediaBrowser.LocalMetadata/Providers/MusicVideoXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/MusicVideoXmlProvider.cs index 6289dcb56..b3476c03b 100644 --- a/MediaBrowser.LocalMetadata/Providers/MusicVideoXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/MusicVideoXmlProvider.cs @@ -20,7 +20,7 @@ namespace MediaBrowser.LocalMetadata.Providers protected override void Fetch(LocalMetadataResult<MusicVideo> result, string path, CancellationToken cancellationToken) { - new MusicVideoXmlParser(_logger).Fetch(result.Item, path, cancellationToken); + new MusicVideoXmlParser(_logger).Fetch(result, path, cancellationToken); } protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService) diff --git a/MediaBrowser.LocalMetadata/Providers/PersonXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/PersonXmlProvider.cs index 9f27d6c7d..a97d86406 100644 --- a/MediaBrowser.LocalMetadata/Providers/PersonXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/PersonXmlProvider.cs @@ -19,7 +19,7 @@ namespace MediaBrowser.LocalMetadata.Providers protected override void Fetch(LocalMetadataResult<Person> result, string path, CancellationToken cancellationToken) { - new BaseItemXmlParser<Person>(_logger).Fetch(result.Item, path, cancellationToken); + new BaseItemXmlParser<Person>(_logger).Fetch(result, path, cancellationToken); } protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService) diff --git a/MediaBrowser.LocalMetadata/Providers/PlaylistXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/PlaylistXmlProvider.cs index 2279ae052..f4c2a6afb 100644 --- a/MediaBrowser.LocalMetadata/Providers/PlaylistXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/PlaylistXmlProvider.cs @@ -20,7 +20,7 @@ namespace MediaBrowser.LocalMetadata.Providers protected override void Fetch(LocalMetadataResult<Playlist> result, string path, CancellationToken cancellationToken) { - new PlaylistXmlParser(_logger).Fetch(result.Item, path, cancellationToken); + new PlaylistXmlParser(_logger).Fetch(result, path, cancellationToken); } protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService) diff --git a/MediaBrowser.LocalMetadata/Providers/SeasonXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/SeasonXmlProvider.cs index 2320982c3..ab68e1e86 100644 --- a/MediaBrowser.LocalMetadata/Providers/SeasonXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/SeasonXmlProvider.cs @@ -23,7 +23,7 @@ namespace MediaBrowser.LocalMetadata.Providers protected override void Fetch(LocalMetadataResult<Season> result, string path, CancellationToken cancellationToken) { - new SeasonXmlParser(_logger).Fetch(result.Item, path, cancellationToken); + new SeasonXmlParser(_logger).Fetch(result, path, cancellationToken); } protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService) diff --git a/MediaBrowser.LocalMetadata/Providers/SeriesXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/SeriesXmlProvider.cs index 311c10287..f27612f2f 100644 --- a/MediaBrowser.LocalMetadata/Providers/SeriesXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/SeriesXmlProvider.cs @@ -23,7 +23,7 @@ namespace MediaBrowser.LocalMetadata.Providers protected override void Fetch(LocalMetadataResult<Series> result, string path, CancellationToken cancellationToken) { - new SeriesXmlParser(_logger).Fetch(result.Item, path, cancellationToken); + new SeriesXmlParser(_logger).Fetch(result, path, cancellationToken); } protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService) diff --git a/MediaBrowser.LocalMetadata/Providers/VideoXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/VideoXmlProvider.cs index 25aa61baf..9ba64164e 100644 --- a/MediaBrowser.LocalMetadata/Providers/VideoXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/VideoXmlProvider.cs @@ -1,12 +1,10 @@ -using System.Collections.Generic; -using System.IO; -using System.Threading; -using MediaBrowser.Common.IO; +using MediaBrowser.Common.IO; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Providers; using MediaBrowser.LocalMetadata.Parsers; -using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; +using System.IO; +using System.Threading; namespace MediaBrowser.LocalMetadata.Providers { @@ -22,11 +20,7 @@ namespace MediaBrowser.LocalMetadata.Providers protected override void Fetch(LocalMetadataResult<Video> result, string path, CancellationToken cancellationToken) { - var chapters = new List<ChapterInfo>(); - - new MovieXmlParser(_logger).Fetch(result.Item, chapters, path, cancellationToken); - - result.Chapters = chapters; + new VideoXmlParser(_logger).Fetch(result, path, cancellationToken); } protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService) diff --git a/MediaBrowser.LocalMetadata/Savers/BoxSetXmlSaver.cs b/MediaBrowser.LocalMetadata/Savers/BoxSetXmlSaver.cs index f04175654..e6ae84169 100644 --- a/MediaBrowser.LocalMetadata/Savers/BoxSetXmlSaver.cs +++ b/MediaBrowser.LocalMetadata/Savers/BoxSetXmlSaver.cs @@ -20,10 +20,12 @@ namespace MediaBrowser.LocalMetadata.Savers } private readonly IServerConfigurationManager _config; + private readonly ILibraryManager _libraryManager; - public BoxSetXmlSaver(IServerConfigurationManager config) + public BoxSetXmlSaver(IServerConfigurationManager config, ILibraryManager libraryManager) { _config = config; + _libraryManager = libraryManager; } /// <summary> @@ -54,7 +56,7 @@ namespace MediaBrowser.LocalMetadata.Savers builder.Append("<Item>"); - XmlSaverHelpers.AddCommonNodes((BoxSet)item, builder); + XmlSaverHelpers.AddCommonNodes((BoxSet)item, _libraryManager, builder); builder.Append("</Item>"); diff --git a/MediaBrowser.LocalMetadata/Savers/EpisodeXmlSaver.cs b/MediaBrowser.LocalMetadata/Savers/EpisodeXmlSaver.cs index 673d8bc41..7a2a97c0c 100644 --- a/MediaBrowser.LocalMetadata/Savers/EpisodeXmlSaver.cs +++ b/MediaBrowser.LocalMetadata/Savers/EpisodeXmlSaver.cs @@ -18,11 +18,13 @@ namespace MediaBrowser.LocalMetadata.Savers private readonly CultureInfo _usCulture = new CultureInfo("en-US"); private readonly IServerConfigurationManager _config; + private readonly ILibraryManager _libraryManager; - public EpisodeXmlSaver(IItemRepository itemRepository, IServerConfigurationManager config) + public EpisodeXmlSaver(IItemRepository itemRepository, IServerConfigurationManager config, ILibraryManager libraryManager) { _itemRepository = itemRepository; _config = config; + _libraryManager = libraryManager; } /// <summary> @@ -116,7 +118,7 @@ namespace MediaBrowser.LocalMetadata.Savers builder.Append("<FirstAired>" + SecurityElement.Escape(episode.PremiereDate.Value.ToLocalTime().ToString("yyyy-MM-dd")) + "</FirstAired>"); } - XmlSaverHelpers.AddCommonNodes(episode, builder); + XmlSaverHelpers.AddCommonNodes(episode, _libraryManager, builder); XmlSaverHelpers.AddMediaInfo(episode, builder, _itemRepository); builder.Append("</Item>"); diff --git a/MediaBrowser.LocalMetadata/Savers/FolderXmlSaver.cs b/MediaBrowser.LocalMetadata/Savers/FolderXmlSaver.cs index 67fa12b55..ac56f0864 100644 --- a/MediaBrowser.LocalMetadata/Savers/FolderXmlSaver.cs +++ b/MediaBrowser.LocalMetadata/Savers/FolderXmlSaver.cs @@ -23,10 +23,12 @@ namespace MediaBrowser.LocalMetadata.Savers } private readonly IServerConfigurationManager _config; + private readonly ILibraryManager _libraryManager; - public FolderXmlSaver(IServerConfigurationManager config) + public FolderXmlSaver(IServerConfigurationManager config, ILibraryManager libraryManager) { _config = config; + _libraryManager = libraryManager; } /// <summary> @@ -68,7 +70,7 @@ namespace MediaBrowser.LocalMetadata.Savers builder.Append("<Item>"); - XmlSaverHelpers.AddCommonNodes((Folder)item, builder); + XmlSaverHelpers.AddCommonNodes((Folder)item, _libraryManager, builder); builder.Append("</Item>"); diff --git a/MediaBrowser.LocalMetadata/Savers/GameSystemXmlSaver.cs b/MediaBrowser.LocalMetadata/Savers/GameSystemXmlSaver.cs index ebb401f54..770f1d7f9 100644 --- a/MediaBrowser.LocalMetadata/Savers/GameSystemXmlSaver.cs +++ b/MediaBrowser.LocalMetadata/Savers/GameSystemXmlSaver.cs @@ -20,10 +20,12 @@ namespace MediaBrowser.LocalMetadata.Savers } private readonly IServerConfigurationManager _config; + private readonly ILibraryManager _libraryManager; - public GameSystemXmlSaver(IServerConfigurationManager config) + public GameSystemXmlSaver(IServerConfigurationManager config, ILibraryManager libraryManager) { _config = config; + _libraryManager = libraryManager; } /// <summary> @@ -61,7 +63,7 @@ namespace MediaBrowser.LocalMetadata.Savers builder.Append("<GameSystem>" + SecurityElement.Escape(gameSystem.GameSystemName) + "</GameSystem>"); } - XmlSaverHelpers.AddCommonNodes(gameSystem, builder); + XmlSaverHelpers.AddCommonNodes(gameSystem, _libraryManager, builder); builder.Append("</Item>"); diff --git a/MediaBrowser.LocalMetadata/Savers/GameXmlSaver.cs b/MediaBrowser.LocalMetadata/Savers/GameXmlSaver.cs index 108c6a9e2..26c4ff395 100644 --- a/MediaBrowser.LocalMetadata/Savers/GameXmlSaver.cs +++ b/MediaBrowser.LocalMetadata/Savers/GameXmlSaver.cs @@ -25,12 +25,14 @@ namespace MediaBrowser.LocalMetadata.Savers } private readonly IServerConfigurationManager _config; + private readonly ILibraryManager _libraryManager; - public GameXmlSaver(IServerConfigurationManager config) + public GameXmlSaver(IServerConfigurationManager config, ILibraryManager libraryManager) { _config = config; + _libraryManager = libraryManager; } - + /// <summary> /// Determines whether [is enabled for] [the specified item]. /// </summary> @@ -87,7 +89,7 @@ namespace MediaBrowser.LocalMetadata.Savers builder.Append("<NesBoxRom>" + SecurityElement.Escape(val) + "</NesBoxRom>"); } - XmlSaverHelpers.AddCommonNodes(game, builder); + XmlSaverHelpers.AddCommonNodes(game, _libraryManager, builder); builder.Append("</Item>"); diff --git a/MediaBrowser.LocalMetadata/Savers/MovieXmlSaver.cs b/MediaBrowser.LocalMetadata/Savers/MovieXmlSaver.cs index eb1a0b78c..dc5b45259 100644 --- a/MediaBrowser.LocalMetadata/Savers/MovieXmlSaver.cs +++ b/MediaBrowser.LocalMetadata/Savers/MovieXmlSaver.cs @@ -74,7 +74,7 @@ namespace MediaBrowser.LocalMetadata.Savers builder.Append("<Title>"); - XmlSaverHelpers.AddCommonNodes(video, builder); + XmlSaverHelpers.AddCommonNodes(video, _libraryManager, builder); var musicVideo = item as MusicVideo; diff --git a/MediaBrowser.LocalMetadata/Savers/PersonXmlSaver.cs b/MediaBrowser.LocalMetadata/Savers/PersonXmlSaver.cs index 9c6fb39bd..9d943bfa4 100644 --- a/MediaBrowser.LocalMetadata/Savers/PersonXmlSaver.cs +++ b/MediaBrowser.LocalMetadata/Savers/PersonXmlSaver.cs @@ -23,10 +23,12 @@ namespace MediaBrowser.LocalMetadata.Savers } private readonly IServerConfigurationManager _config; + private readonly ILibraryManager _libraryManager; - public PersonXmlSaver(IServerConfigurationManager config) + public PersonXmlSaver(IServerConfigurationManager config, ILibraryManager libraryManager) { _config = config; + _libraryManager = libraryManager; } /// <summary> @@ -59,7 +61,7 @@ namespace MediaBrowser.LocalMetadata.Savers builder.Append("<Item>"); - XmlSaverHelpers.AddCommonNodes(person, builder); + XmlSaverHelpers.AddCommonNodes(person, _libraryManager, builder); if (!string.IsNullOrEmpty(person.PlaceOfBirth)) { diff --git a/MediaBrowser.LocalMetadata/Savers/PlaylistXmlSaver.cs b/MediaBrowser.LocalMetadata/Savers/PlaylistXmlSaver.cs index 76ef4d4bf..7dfe59b4b 100644 --- a/MediaBrowser.LocalMetadata/Savers/PlaylistXmlSaver.cs +++ b/MediaBrowser.LocalMetadata/Savers/PlaylistXmlSaver.cs @@ -21,10 +21,12 @@ namespace MediaBrowser.LocalMetadata.Savers } private readonly IServerConfigurationManager _config; + private readonly ILibraryManager _libraryManager; - public PlaylistXmlSaver(IServerConfigurationManager config) + public PlaylistXmlSaver(IServerConfigurationManager config, ILibraryManager libraryManager) { _config = config; + _libraryManager = libraryManager; } /// <summary> @@ -61,8 +63,8 @@ namespace MediaBrowser.LocalMetadata.Savers { builder.Append("<PlaylistMediaType>" + SecurityElement.Escape(playlist.PlaylistMediaType) + "</PlaylistMediaType>"); } - - XmlSaverHelpers.AddCommonNodes(playlist, builder); + + XmlSaverHelpers.AddCommonNodes(playlist, _libraryManager, builder); builder.Append("</Item>"); diff --git a/MediaBrowser.LocalMetadata/Savers/SeriesXmlSaver.cs b/MediaBrowser.LocalMetadata/Savers/SeriesXmlSaver.cs index c94770bdb..45aff5e2c 100644 --- a/MediaBrowser.LocalMetadata/Savers/SeriesXmlSaver.cs +++ b/MediaBrowser.LocalMetadata/Savers/SeriesXmlSaver.cs @@ -15,12 +15,14 @@ namespace MediaBrowser.LocalMetadata.Savers public class SeriesXmlSaver : IMetadataFileSaver { private readonly IServerConfigurationManager _config; + private readonly ILibraryManager _libraryManager; - public SeriesXmlSaver(IServerConfigurationManager config) + public SeriesXmlSaver(IServerConfigurationManager config, ILibraryManager libraryManager) { _config = config; + _libraryManager = libraryManager; } - + public string Name { get @@ -105,7 +107,7 @@ namespace MediaBrowser.LocalMetadata.Savers builder.Append("<AnimeSeriesIndex>" + SecurityElement.Escape(series.AnimeSeriesIndex.Value.ToString(UsCulture)) + "</AnimeSeriesIndex>"); } - XmlSaverHelpers.AddCommonNodes(series, builder); + XmlSaverHelpers.AddCommonNodes(series, _libraryManager, builder); builder.Append("</Series>"); diff --git a/MediaBrowser.LocalMetadata/Savers/XmlSaverHelpers.cs b/MediaBrowser.LocalMetadata/Savers/XmlSaverHelpers.cs index 1b98e75be..091d59469 100644 --- a/MediaBrowser.LocalMetadata/Savers/XmlSaverHelpers.cs +++ b/MediaBrowser.LocalMetadata/Savers/XmlSaverHelpers.cs @@ -2,6 +2,7 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Entities.TV; +using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Persistence; using MediaBrowser.Controller.Playlists; using MediaBrowser.Model.Entities; @@ -230,7 +231,7 @@ namespace MediaBrowser.LocalMetadata.Savers /// </summary> /// <param name="item">The item.</param> /// <param name="builder">The builder.</param> - public static void AddCommonNodes(BaseItem item, StringBuilder builder) + public static void AddCommonNodes(BaseItem item, ILibraryManager libraryManager, StringBuilder builder) { if (!string.IsNullOrEmpty(item.OfficialRating)) { @@ -627,11 +628,13 @@ namespace MediaBrowser.LocalMetadata.Savers } } - if (item.People.Count > 0) + var people = libraryManager.GetPeople(item); + + if (people.Count > 0) { builder.Append("<Persons>"); - foreach (var person in item.People) + foreach (var person in people) { builder.Append("<Person>"); builder.Append("<Name>" + SecurityElement.Escape(person.Name) + "</Name>"); |
