From 6d13cec38ed243a8bc133c52a167e23eac01aae6 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 2 Aug 2015 13:31:08 -0400 Subject: [PATCH] update metadata parsing --- .../MediaBrowser.Controller.csproj | 1 - .../Providers/ILocalMetadataProvider.cs | 2 +- .../Providers/LocalMetadataResult.cs | 18 ----- .../Providers/MetadataResult.cs | 32 ++++++++ MediaBrowser.LocalMetadata/BaseXmlProvider.cs | 6 +- .../Parsers/GameSystemXmlParser.cs | 8 +- .../Providers/BoxSetXmlProvider.cs | 2 +- .../Providers/EpisodeXmlProvider.cs | 2 +- .../Providers/FolderXmlProvider.cs | 2 +- .../Providers/GameSystemXmlProvider.cs | 2 +- .../Providers/GameXmlProvider.cs | 2 +- .../Providers/MovieXmlProvider.cs | 2 +- .../Providers/MusicVideoXmlProvider.cs | 2 +- .../Providers/PersonXmlProvider.cs | 2 +- .../Providers/PlaylistXmlProvider.cs | 2 +- .../Providers/SeasonXmlProvider.cs | 2 +- .../Providers/SeriesXmlProvider.cs | 2 +- .../Providers/VideoXmlProvider.cs | 2 +- .../Manager/MetadataService.cs | 5 +- .../Parsers/BaseNfoParser.cs | 77 ++++++------------- .../Parsers/EpisodeNfoParser.cs | 4 +- .../Parsers/MovieNfoParser.cs | 2 +- .../Parsers/SeasonNfoParser.cs | 2 +- .../Parsers/SeriesNfoParser.cs | 4 +- .../Providers/AlbumNfoProvider.cs | 2 +- .../Providers/ArtistNfoProvider.cs | 2 +- .../Providers/BaseNfoProvider.cs | 6 +- .../Providers/BaseVideoNfoProvider.cs | 10 ++- .../Providers/EpisodeNfoProvider.cs | 2 +- .../Providers/SeasonNfoProvider.cs | 2 +- .../Providers/SeriesNfoProvider.cs | 2 +- 31 files changed, 101 insertions(+), 110 deletions(-) delete mode 100644 MediaBrowser.Controller/Providers/LocalMetadataResult.cs diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj index dd9383827b..b84fe3c712 100644 --- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj +++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj @@ -312,7 +312,6 @@ - diff --git a/MediaBrowser.Controller/Providers/ILocalMetadataProvider.cs b/MediaBrowser.Controller/Providers/ILocalMetadataProvider.cs index 3a8ef73254..28a5353104 100644 --- a/MediaBrowser.Controller/Providers/ILocalMetadataProvider.cs +++ b/MediaBrowser.Controller/Providers/ILocalMetadataProvider.cs @@ -18,7 +18,7 @@ namespace MediaBrowser.Controller.Providers /// The directory service. /// The cancellation token. /// Task{MetadataResult{`0}}. - Task> GetMetadata(ItemInfo info, + Task> GetMetadata(ItemInfo info, IDirectoryService directoryService, CancellationToken cancellationToken); } diff --git a/MediaBrowser.Controller/Providers/LocalMetadataResult.cs b/MediaBrowser.Controller/Providers/LocalMetadataResult.cs deleted file mode 100644 index 76b7a31360..0000000000 --- a/MediaBrowser.Controller/Providers/LocalMetadataResult.cs +++ /dev/null @@ -1,18 +0,0 @@ -using MediaBrowser.Controller.Entities; -using System.Collections.Generic; - -namespace MediaBrowser.Controller.Providers -{ - public class LocalMetadataResult : MetadataResult - where T : IHasMetadata - { - public List Images { get; set; } - public List UserDataLIst { get; set; } - - public LocalMetadataResult() - { - Images = new List(); - UserDataLIst = new List(); - } - } -} \ No newline at end of file diff --git a/MediaBrowser.Controller/Providers/MetadataResult.cs b/MediaBrowser.Controller/Providers/MetadataResult.cs index 68cdf4d725..17175f91cf 100644 --- a/MediaBrowser.Controller/Providers/MetadataResult.cs +++ b/MediaBrowser.Controller/Providers/MetadataResult.cs @@ -1,10 +1,20 @@ using MediaBrowser.Controller.Entities; +using System; using System.Collections.Generic; +using System.Linq; namespace MediaBrowser.Controller.Providers { public class MetadataResult { + public List Images { get; set; } + public List UserDataList { get; set; } + + public MetadataResult() + { + Images = new List(); + } + public List People { get; set; } public bool HasMetadata { get; set; } @@ -31,5 +41,27 @@ namespace MediaBrowser.Controller.Providers } People.Clear(); } + + public UserItemData GetOrAddUserData(string userId) + { + if (UserDataList == null) + { + UserDataList = new List(); + } + + var userData = UserDataList.FirstOrDefault(i => string.Equals(userId, i.UserId.ToString("N"), StringComparison.OrdinalIgnoreCase)); + + if (userData == null) + { + userData = new UserItemData() + { + UserId = new Guid(userId) + }; + + UserDataList.Add(userData); + } + + return userData; + } } } \ No newline at end of file diff --git a/MediaBrowser.LocalMetadata/BaseXmlProvider.cs b/MediaBrowser.LocalMetadata/BaseXmlProvider.cs index 57358fe62b..aa0f11475f 100644 --- a/MediaBrowser.LocalMetadata/BaseXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/BaseXmlProvider.cs @@ -13,11 +13,11 @@ namespace MediaBrowser.LocalMetadata { protected IFileSystem FileSystem; - public async Task> GetMetadata(ItemInfo info, + public async Task> GetMetadata(ItemInfo info, IDirectoryService directoryService, CancellationToken cancellationToken) { - var result = new LocalMetadataResult(); + var result = new MetadataResult(); var file = GetXmlFile(info, directoryService); @@ -47,7 +47,7 @@ namespace MediaBrowser.LocalMetadata return result; } - protected abstract void Fetch(LocalMetadataResult result, string path, CancellationToken cancellationToken); + protected abstract void Fetch(MetadataResult result, string path, CancellationToken cancellationToken); protected BaseXmlProvider(IFileSystem fileSystem) { diff --git a/MediaBrowser.LocalMetadata/Parsers/GameSystemXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/GameSystemXmlParser.cs index 8ae0eafecc..09cc1fdd7a 100644 --- a/MediaBrowser.LocalMetadata/Parsers/GameSystemXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/GameSystemXmlParser.cs @@ -1,10 +1,10 @@ -using System.Threading; -using System.Threading.Tasks; -using System.Xml; -using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; +using System.Threading; +using System.Threading.Tasks; +using System.Xml; namespace MediaBrowser.LocalMetadata.Parsers { diff --git a/MediaBrowser.LocalMetadata/Providers/BoxSetXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/BoxSetXmlProvider.cs index 98a5d5e915..fc22e75c5d 100644 --- a/MediaBrowser.LocalMetadata/Providers/BoxSetXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/BoxSetXmlProvider.cs @@ -21,7 +21,7 @@ namespace MediaBrowser.LocalMetadata.Providers _logger = logger; } - protected override void Fetch(LocalMetadataResult result, string path, CancellationToken cancellationToken) + protected override void Fetch(MetadataResult result, string path, CancellationToken cancellationToken) { new BoxSetXmlParser(_logger).Fetch(result, path, cancellationToken); } diff --git a/MediaBrowser.LocalMetadata/Providers/EpisodeXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/EpisodeXmlProvider.cs index c1fc1ba5ef..bf27300326 100644 --- a/MediaBrowser.LocalMetadata/Providers/EpisodeXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/EpisodeXmlProvider.cs @@ -20,7 +20,7 @@ namespace MediaBrowser.LocalMetadata.Providers _logger = logger; } - protected override void Fetch(LocalMetadataResult result, string path, CancellationToken cancellationToken) + protected override void Fetch(MetadataResult result, string path, CancellationToken cancellationToken) { var images = new List(); var chapters = new List(); diff --git a/MediaBrowser.LocalMetadata/Providers/FolderXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/FolderXmlProvider.cs index d18e92f16d..bf059c553f 100644 --- a/MediaBrowser.LocalMetadata/Providers/FolderXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/FolderXmlProvider.cs @@ -20,7 +20,7 @@ namespace MediaBrowser.LocalMetadata.Providers _logger = logger; } - protected override void Fetch(LocalMetadataResult result, string path, CancellationToken cancellationToken) + protected override void Fetch(MetadataResult result, string path, CancellationToken cancellationToken) { new BaseItemXmlParser(_logger).Fetch(result, path, cancellationToken); } diff --git a/MediaBrowser.LocalMetadata/Providers/GameSystemXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/GameSystemXmlProvider.cs index 9d86edbf91..f51605f067 100644 --- a/MediaBrowser.LocalMetadata/Providers/GameSystemXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/GameSystemXmlProvider.cs @@ -18,7 +18,7 @@ namespace MediaBrowser.LocalMetadata.Providers _logger = logger; } - protected override void Fetch(LocalMetadataResult result, string path, CancellationToken cancellationToken) + protected override void Fetch(MetadataResult result, string path, CancellationToken cancellationToken) { new GameSystemXmlParser(_logger).Fetch(result, path, cancellationToken); } diff --git a/MediaBrowser.LocalMetadata/Providers/GameXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/GameXmlProvider.cs index 97a3da1470..7ee2c768b6 100644 --- a/MediaBrowser.LocalMetadata/Providers/GameXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/GameXmlProvider.cs @@ -18,7 +18,7 @@ namespace MediaBrowser.LocalMetadata.Providers _logger = logger; } - protected override void Fetch(LocalMetadataResult result, string path, CancellationToken cancellationToken) + protected override void Fetch(MetadataResult result, string path, CancellationToken cancellationToken) { new GameXmlParser(_logger).Fetch(result, path, cancellationToken); } diff --git a/MediaBrowser.LocalMetadata/Providers/MovieXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/MovieXmlProvider.cs index 09f13b2ea3..82c7dbd673 100644 --- a/MediaBrowser.LocalMetadata/Providers/MovieXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/MovieXmlProvider.cs @@ -18,7 +18,7 @@ namespace MediaBrowser.LocalMetadata.Providers _logger = logger; } - protected override void Fetch(LocalMetadataResult result, string path, CancellationToken cancellationToken) + protected override void Fetch(MetadataResult result, string path, CancellationToken cancellationToken) { new MovieXmlParser(_logger).Fetch(result, path, cancellationToken); } diff --git a/MediaBrowser.LocalMetadata/Providers/MusicVideoXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/MusicVideoXmlProvider.cs index b3476c03be..3171dd9a71 100644 --- a/MediaBrowser.LocalMetadata/Providers/MusicVideoXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/MusicVideoXmlProvider.cs @@ -18,7 +18,7 @@ namespace MediaBrowser.LocalMetadata.Providers _logger = logger; } - protected override void Fetch(LocalMetadataResult result, string path, CancellationToken cancellationToken) + protected override void Fetch(MetadataResult result, string path, CancellationToken cancellationToken) { new MusicVideoXmlParser(_logger).Fetch(result, path, cancellationToken); } diff --git a/MediaBrowser.LocalMetadata/Providers/PersonXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/PersonXmlProvider.cs index a97d864065..115d5b0414 100644 --- a/MediaBrowser.LocalMetadata/Providers/PersonXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/PersonXmlProvider.cs @@ -17,7 +17,7 @@ namespace MediaBrowser.LocalMetadata.Providers _logger = logger; } - protected override void Fetch(LocalMetadataResult result, string path, CancellationToken cancellationToken) + protected override void Fetch(MetadataResult result, string path, CancellationToken cancellationToken) { new BaseItemXmlParser(_logger).Fetch(result, path, cancellationToken); } diff --git a/MediaBrowser.LocalMetadata/Providers/PlaylistXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/PlaylistXmlProvider.cs index f4c2a6afb6..3de311e2bb 100644 --- a/MediaBrowser.LocalMetadata/Providers/PlaylistXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/PlaylistXmlProvider.cs @@ -18,7 +18,7 @@ namespace MediaBrowser.LocalMetadata.Providers _logger = logger; } - protected override void Fetch(LocalMetadataResult result, string path, CancellationToken cancellationToken) + protected override void Fetch(MetadataResult result, string path, CancellationToken cancellationToken) { new PlaylistXmlParser(_logger).Fetch(result, path, cancellationToken); } diff --git a/MediaBrowser.LocalMetadata/Providers/SeasonXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/SeasonXmlProvider.cs index ab68e1e869..f0c8f0fa1b 100644 --- a/MediaBrowser.LocalMetadata/Providers/SeasonXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/SeasonXmlProvider.cs @@ -21,7 +21,7 @@ namespace MediaBrowser.LocalMetadata.Providers _logger = logger; } - protected override void Fetch(LocalMetadataResult result, string path, CancellationToken cancellationToken) + protected override void Fetch(MetadataResult result, string path, CancellationToken cancellationToken) { new SeasonXmlParser(_logger).Fetch(result, path, cancellationToken); } diff --git a/MediaBrowser.LocalMetadata/Providers/SeriesXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/SeriesXmlProvider.cs index f27612f2f3..80fdad4837 100644 --- a/MediaBrowser.LocalMetadata/Providers/SeriesXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/SeriesXmlProvider.cs @@ -21,7 +21,7 @@ namespace MediaBrowser.LocalMetadata.Providers _logger = logger; } - protected override void Fetch(LocalMetadataResult result, string path, CancellationToken cancellationToken) + protected override void Fetch(MetadataResult result, string path, CancellationToken cancellationToken) { new SeriesXmlParser(_logger).Fetch(result, path, cancellationToken); } diff --git a/MediaBrowser.LocalMetadata/Providers/VideoXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/VideoXmlProvider.cs index 9ba64164e8..56d289f974 100644 --- a/MediaBrowser.LocalMetadata/Providers/VideoXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/VideoXmlProvider.cs @@ -18,7 +18,7 @@ namespace MediaBrowser.LocalMetadata.Providers _logger = logger; } - protected override void Fetch(LocalMetadataResult