From 9e0c1340fc3ad4b41e3c349b98ea71b708ade95a Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 2 Feb 2014 08:36:31 -0500 Subject: convert games to new providers --- MediaBrowser.Controller/Entities/BaseItem.cs | 85 ---------------------- MediaBrowser.Controller/Entities/IHasImages.cs | 7 -- .../Entities/IHasScreenshots.cs | 7 -- MediaBrowser.Controller/Library/ILibraryManager.cs | 12 +-- MediaBrowser.Controller/Library/IMetadataSaver.cs | 14 +++- .../MediaBrowser.Controller.csproj | 1 + .../Providers/ICustomMetadataProvider.cs | 15 ++++ MediaBrowser.Controller/Providers/IHasMetadata.cs | 6 ++ .../Providers/IMetadataService.cs | 13 +--- .../Providers/IProviderManager.cs | 19 ++++- MediaBrowser.Controller/Providers/ItemId.cs | 18 +++++ 11 files changed, 72 insertions(+), 125 deletions(-) create mode 100644 MediaBrowser.Controller/Providers/ICustomMetadataProvider.cs (limited to 'MediaBrowser.Controller') diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index f12532204f..d9579d79f8 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -34,7 +34,6 @@ namespace MediaBrowser.Controller.Entities Images = new Dictionary(); ProviderIds = new Dictionary(StringComparer.OrdinalIgnoreCase); LockedFields = new List(); - ImageSources = new List(); } /// @@ -474,12 +473,6 @@ namespace MediaBrowser.Controller.Entities /// The backdrop image paths. public List BackdropImagePaths { get; set; } - /// - /// Gets or sets the backdrop image sources. - /// - /// The backdrop image sources. - public List ImageSources { get; set; } - /// /// Gets or sets the official rating. /// @@ -1458,8 +1451,6 @@ namespace MediaBrowser.Controller.Entities BackdropImagePaths.Remove(file); - RemoveImageSourceForPath(file); - // Delete the source file DeleteImagePath(file); } @@ -1567,88 +1558,12 @@ namespace MediaBrowser.Controller.Entities { BackdropImagePaths.Remove(path); - RemoveImageSourceForPath(path); - changed = true; } return changed; } - /// - /// Adds the image source. - /// - /// The path. - /// The URL. - public void AddImageSource(string path, string url) - { - RemoveImageSourceForPath(path); - - var pathMd5 = path.ToLower().GetMD5(); - - ImageSources.Add(new ImageSourceInfo - { - ImagePathMD5 = pathMd5, - ImageUrlMD5 = url.ToLower().GetMD5() - }); - } - - /// - /// Gets the image source info. - /// - /// The path. - /// ImageSourceInfo. - public ImageSourceInfo GetImageSourceInfo(string path) - { - if (ImageSources.Count == 0) - { - return null; - } - - var pathMd5 = path.ToLower().GetMD5(); - - return ImageSources.FirstOrDefault(i => i.ImagePathMD5 == pathMd5); - } - - /// - /// Removes the image source for path. - /// - /// The path. - public void RemoveImageSourceForPath(string path) - { - if (ImageSources.Count == 0) - { - return; - } - - var pathMd5 = path.ToLower().GetMD5(); - - // Remove existing - foreach (var entry in ImageSources - .Where(i => i.ImagePathMD5 == pathMd5) - .ToList()) - { - ImageSources.Remove(entry); - } - } - - /// - /// Determines whether [contains image with source URL] [the specified URL]. - /// - /// The URL. - /// true if [contains image with source URL] [the specified URL]; otherwise, false. - public bool ContainsImageWithSourceUrl(string url) - { - if (ImageSources.Count == 0) - { - return false; - } - - var md5 = url.ToLower().GetMD5(); - - return ImageSources.Any(i => i.ImageUrlMD5 == md5); - } - /// /// Validates the screenshots. /// diff --git a/MediaBrowser.Controller/Entities/IHasImages.cs b/MediaBrowser.Controller/Entities/IHasImages.cs index 18e6afcd18..1aa299c2af 100644 --- a/MediaBrowser.Controller/Entities/IHasImages.cs +++ b/MediaBrowser.Controller/Entities/IHasImages.cs @@ -99,13 +99,6 @@ namespace MediaBrowser.Controller.Entities /// /// The backdrop image paths. List BackdropImagePaths { get; set; } - - /// - /// Determines whether [contains image with source URL] [the specified URL]. - /// - /// The URL. - /// true if [contains image with source URL] [the specified URL]; otherwise, false. - bool ContainsImageWithSourceUrl(string url); } public static class HasImagesExtensions diff --git a/MediaBrowser.Controller/Entities/IHasScreenshots.cs b/MediaBrowser.Controller/Entities/IHasScreenshots.cs index 70d154a958..341d6403f2 100644 --- a/MediaBrowser.Controller/Entities/IHasScreenshots.cs +++ b/MediaBrowser.Controller/Entities/IHasScreenshots.cs @@ -12,12 +12,5 @@ namespace MediaBrowser.Controller.Entities /// /// The screenshot image paths. List ScreenshotImagePaths { get; set; } - - /// - /// Determines whether [contains image with source URL] [the specified URL]. - /// - /// The URL. - /// true if [contains image with source URL] [the specified URL]; otherwise, false. - bool ContainsImageWithSourceUrl(string url); } } diff --git a/MediaBrowser.Controller/Library/ILibraryManager.cs b/MediaBrowser.Controller/Library/ILibraryManager.cs index c3a87fc317..d8ba019db3 100644 --- a/MediaBrowser.Controller/Library/ILibraryManager.cs +++ b/MediaBrowser.Controller/Library/ILibraryManager.cs @@ -165,7 +165,6 @@ namespace MediaBrowser.Controller.Library /// The prescan tasks. /// The postscan tasks. /// The people prescan tasks. - /// The savers. void AddParts(IEnumerable rules, IEnumerable pluginFolders, IEnumerable resolvers, @@ -173,8 +172,7 @@ namespace MediaBrowser.Controller.Library IEnumerable itemComparers, IEnumerable prescanTasks, IEnumerable postscanTasks, - IEnumerable peoplePrescanTasks, - IEnumerable savers); + IEnumerable peoplePrescanTasks); /// /// Sorts the specified items. @@ -300,14 +298,6 @@ namespace MediaBrowser.Controller.Library /// System.String. string FindCollectionType(BaseItem item); - /// - /// Saves the metadata. - /// - /// The item. - /// Type of the update. - /// Task. - Task SaveMetadata(BaseItem item, ItemUpdateType updateType); - /// /// Gets all artists. /// diff --git a/MediaBrowser.Controller/Library/IMetadataSaver.cs b/MediaBrowser.Controller/Library/IMetadataSaver.cs index 15671af4da..0c75e7edcf 100644 --- a/MediaBrowser.Controller/Library/IMetadataSaver.cs +++ b/MediaBrowser.Controller/Library/IMetadataSaver.cs @@ -1,4 +1,4 @@ -using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Providers; using System.Threading; namespace MediaBrowser.Controller.Library @@ -8,20 +8,26 @@ namespace MediaBrowser.Controller.Library /// public interface IMetadataSaver { + /// + /// Gets the name. + /// + /// The name. + string Name { get; } + /// /// Determines whether [is enabled for] [the specified item]. /// /// The item. /// Type of the update. /// true if [is enabled for] [the specified item]; otherwise, false. - bool IsEnabledFor(BaseItem item, ItemUpdateType updateType); + bool IsEnabledFor(IHasMetadata item, ItemUpdateType updateType); /// /// Gets the save path. /// /// The item. /// System.String. - string GetSavePath(BaseItem item); + string GetSavePath(IHasMetadata item); /// /// Saves the specified item. @@ -29,6 +35,6 @@ namespace MediaBrowser.Controller.Library /// The item. /// The cancellation token. /// Task. - void Save(BaseItem item, CancellationToken cancellationToken); + void Save(IHasMetadata item, CancellationToken cancellationToken); } } diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj index b05f14a13d..6b42285240 100644 --- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj +++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj @@ -143,6 +143,7 @@ + diff --git a/MediaBrowser.Controller/Providers/ICustomMetadataProvider.cs b/MediaBrowser.Controller/Providers/ICustomMetadataProvider.cs new file mode 100644 index 0000000000..a53222b5a1 --- /dev/null +++ b/MediaBrowser.Controller/Providers/ICustomMetadataProvider.cs @@ -0,0 +1,15 @@ +using System.Threading; +using System.Threading.Tasks; + +namespace MediaBrowser.Controller.Providers +{ + public interface ICustomMetadataProvider : IMetadataProvider + { + } + + public interface ICustomMetadataProvider : IMetadataProvider, ICustomMetadataProvider + where TItemType : IHasMetadata + { + Task FetchAsync(TItemType item, CancellationToken cancellationToken); + } +} diff --git a/MediaBrowser.Controller/Providers/IHasMetadata.cs b/MediaBrowser.Controller/Providers/IHasMetadata.cs index 4ee54f69ed..1e2a76b792 100644 --- a/MediaBrowser.Controller/Providers/IHasMetadata.cs +++ b/MediaBrowser.Controller/Providers/IHasMetadata.cs @@ -27,5 +27,11 @@ namespace MediaBrowser.Controller.Providers /// /// The date last saved. DateTime DateLastSaved { get; set; } + + /// + /// Determines whether [is save local metadata enabled]. + /// + /// true if [is save local metadata enabled]; otherwise, false. + bool IsSaveLocalMetadataEnabled(); } } diff --git a/MediaBrowser.Controller/Providers/IMetadataService.cs b/MediaBrowser.Controller/Providers/IMetadataService.cs index e9ce320ab4..c4314c15fd 100644 --- a/MediaBrowser.Controller/Providers/IMetadataService.cs +++ b/MediaBrowser.Controller/Providers/IMetadataService.cs @@ -1,17 +1,10 @@ -using System.Collections.Generic; -using System.Threading; +using System.Threading; using System.Threading.Tasks; namespace MediaBrowser.Controller.Providers { public interface IMetadataService { - /// - /// Adds the parts. - /// - /// The providers. - void AddParts(IEnumerable providers); - /// /// Determines whether this instance can refresh the specified item. /// @@ -23,10 +16,10 @@ namespace MediaBrowser.Controller.Providers /// Refreshes the metadata. /// /// The item. - /// The options. + /// The options. /// The cancellation token. /// Task. - Task RefreshMetadata(IHasMetadata item, MetadataRefreshOptions options, CancellationToken cancellationToken); + Task RefreshMetadata(IHasMetadata item, MetadataRefreshOptions refreshOptions, CancellationToken cancellationToken); /// /// Gets the order. diff --git a/MediaBrowser.Controller/Providers/IProviderManager.cs b/MediaBrowser.Controller/Providers/IProviderManager.cs index 0159f778ff..0e4f70c065 100644 --- a/MediaBrowser.Controller/Providers/IProviderManager.cs +++ b/MediaBrowser.Controller/Providers/IProviderManager.cs @@ -1,5 +1,6 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; +using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Providers; using System.Collections.Generic; @@ -64,7 +65,9 @@ namespace MediaBrowser.Controller.Providers /// The image providers. /// The metadata services. /// The metadata providers. - void AddParts(IEnumerable providers, IEnumerable imageProviders, IEnumerable metadataServices, IEnumerable metadataProviders); + /// The savers. + void AddParts(IEnumerable providers, IEnumerable imageProviders, IEnumerable metadataServices, IEnumerable metadataProviders, + IEnumerable savers); /// /// Gets the available remote images. @@ -82,5 +85,19 @@ namespace MediaBrowser.Controller.Providers /// The item. /// IEnumerable{ImageProviderInfo}. IEnumerable GetImageProviderInfo(IHasImages item); + + /// + /// Gets all metadata plugins. + /// + /// IEnumerable{MetadataPlugin}. + IEnumerable GetAllMetadataPlugins(); + + /// + /// Saves the metadata. + /// + /// The item. + /// Type of the update. + /// Task. + Task SaveMetadata(IHasMetadata item, ItemUpdateType updateType); } } \ No newline at end of file diff --git a/MediaBrowser.Controller/Providers/ItemId.cs b/MediaBrowser.Controller/Providers/ItemId.cs index 3abb64bfb2..3dbaa78fa3 100644 --- a/MediaBrowser.Controller/Providers/ItemId.cs +++ b/MediaBrowser.Controller/Providers/ItemId.cs @@ -51,4 +51,22 @@ namespace MediaBrowser.Controller.Providers /// The artist music brainz identifier. public string ArtistMusicBrainzId { get; set; } } + + public class GameId : ItemId + { + /// + /// Gets or sets the game system. + /// + /// The game system. + public string GameSystem { get; set; } + } + + public class GameSystemId : ItemId + { + /// + /// Gets or sets the path. + /// + /// The path. + public string Path { get; set; } + } } -- cgit v1.2.3