diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-01-31 14:55:21 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-01-31 14:55:21 -0500 |
| commit | 67fde8c16d5a238c2d18a4c0b1795f17d38191df (patch) | |
| tree | 64755ffc593e3d610e5cfea98df7d58e167938b5 /MediaBrowser.Controller | |
| parent | 9685b81db5b975f57739a9dcc6c2cdb6c4c4dbcf (diff) | |
convert album providers
Diffstat (limited to 'MediaBrowser.Controller')
9 files changed, 72 insertions, 41 deletions
diff --git a/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs b/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs index 203e6dc43..b3bf0d2b6 100644 --- a/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs +++ b/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs @@ -21,9 +21,6 @@ namespace MediaBrowser.Controller.Entities.Audio Tags = new List<string>(); } - public string LastFmImageUrl { get; set; } - public string LastFmImageSize { get; set; } - /// <summary> /// Gets or sets the tags. /// </summary> diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj index ee8bb2761..b05f14a13 100644 --- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj +++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj @@ -146,11 +146,13 @@ <Compile Include="Providers\IDynamicInfoProvider.cs" /> <Compile Include="Providers\IHasMetadata.cs" /> <Compile Include="Providers\IImageProvider.cs" /> + <Compile Include="Providers\ILocalMetadataProvider.cs" /> <Compile Include="Providers\IProviderRepository.cs" /> <Compile Include="Providers\IRemoteImageProvider.cs" /> <Compile Include="Providers\ILocalImageProvider.cs" /> <Compile Include="Providers\IMetadataProvider.cs" /> <Compile Include="Providers\IMetadataService.cs" /> + <Compile Include="Providers\IRemoteMetadataProvider.cs" /> <Compile Include="Providers\ItemId.cs" /> <Compile Include="Providers\MetadataRefreshOptions.cs" /> <Compile Include="Providers\NameParser.cs" /> diff --git a/MediaBrowser.Controller/Providers/IImageProvider.cs b/MediaBrowser.Controller/Providers/IImageProvider.cs index 61f5579f4..1e5bdfeaf 100644 --- a/MediaBrowser.Controller/Providers/IImageProvider.cs +++ b/MediaBrowser.Controller/Providers/IImageProvider.cs @@ -19,11 +19,5 @@ namespace MediaBrowser.Controller.Providers /// <param name="item">The item.</param> /// <returns><c>true</c> if XXXX, <c>false</c> otherwise</returns> bool Supports(IHasImages item); - - /// <summary> - /// Gets the order. - /// </summary> - /// <value>The order.</value> - int Order { get; } } } diff --git a/MediaBrowser.Controller/Providers/ILocalMetadataProvider.cs b/MediaBrowser.Controller/Providers/ILocalMetadataProvider.cs new file mode 100644 index 000000000..62b208b59 --- /dev/null +++ b/MediaBrowser.Controller/Providers/ILocalMetadataProvider.cs @@ -0,0 +1,27 @@ +using System.Threading; +using System.Threading.Tasks; + +namespace MediaBrowser.Controller.Providers +{ + public interface ILocalMetadataProvider : IMetadataProvider + { + /// <summary> + /// Determines whether [has local metadata] [the specified item]. + /// </summary> + /// <param name="item">The item.</param> + /// <returns><c>true</c> if [has local metadata] [the specified item]; otherwise, <c>false</c>.</returns> + bool HasLocalMetadata(IHasMetadata item); + } + + public interface ILocalMetadataProvider<TItemType> : IMetadataProvider<TItemType>, ILocalMetadataProvider + where TItemType : IHasMetadata + { + /// <summary> + /// Gets the metadata. + /// </summary> + /// <param name="path">The path.</param> + /// <param name="cancellationToken">The cancellation token.</param> + /// <returns>Task{MetadataResult{`0}}.</returns> + Task<MetadataResult<TItemType>> GetMetadata(string path, CancellationToken cancellationToken); + } +} diff --git a/MediaBrowser.Controller/Providers/IMetadataProvider.cs b/MediaBrowser.Controller/Providers/IMetadataProvider.cs index 843ba263b..123e806ed 100644 --- a/MediaBrowser.Controller/Providers/IMetadataProvider.cs +++ b/MediaBrowser.Controller/Providers/IMetadataProvider.cs @@ -1,6 +1,4 @@ using System; -using System.Threading; -using System.Threading.Tasks; namespace MediaBrowser.Controller.Providers { @@ -20,32 +18,6 @@ namespace MediaBrowser.Controller.Providers where TItemType : IHasMetadata { } - - public interface ILocalMetadataProvider : IMetadataProvider - { - /// <summary> - /// Determines whether [has local metadata] [the specified item]. - /// </summary> - /// <param name="item">The item.</param> - /// <returns><c>true</c> if [has local metadata] [the specified item]; otherwise, <c>false</c>.</returns> - bool HasLocalMetadata(IHasMetadata item); - } - - public interface IRemoteMetadataProvider : IMetadataProvider - { - } - - public interface IRemoteMetadataProvider<TItemType> : IMetadataProvider<TItemType>, IRemoteMetadataProvider - where TItemType : IHasMetadata - { - Task<MetadataResult<TItemType>> GetMetadata(ItemId id, CancellationToken cancellationToken); - } - - public interface ILocalMetadataProvider<TItemType> : IMetadataProvider<TItemType>, ILocalMetadataProvider - where TItemType : IHasMetadata - { - Task<MetadataResult<TItemType>> GetMetadata(string path, CancellationToken cancellationToken); - } public interface IHasChangeMonitor { @@ -58,6 +30,11 @@ namespace MediaBrowser.Controller.Providers bool HasChanged(IHasMetadata item, DateTime date); } + public interface IHasOrder + { + int Order { get; } + } + public class MetadataResult<T> where T : IHasMetadata { diff --git a/MediaBrowser.Controller/Providers/IMetadataService.cs b/MediaBrowser.Controller/Providers/IMetadataService.cs index c6cc2b716..e9ce320ab 100644 --- a/MediaBrowser.Controller/Providers/IMetadataService.cs +++ b/MediaBrowser.Controller/Providers/IMetadataService.cs @@ -10,8 +10,7 @@ namespace MediaBrowser.Controller.Providers /// Adds the parts. /// </summary> /// <param name="providers">The providers.</param> - /// <param name="imageProviders">The image providers.</param> - void AddParts(IEnumerable<IMetadataProvider> providers, IEnumerable<IImageProvider> imageProviders); + void AddParts(IEnumerable<IMetadataProvider> providers); /// <summary> /// Determines whether this instance can refresh the specified item. diff --git a/MediaBrowser.Controller/Providers/IProviderManager.cs b/MediaBrowser.Controller/Providers/IProviderManager.cs index dc57552c4..0159f778f 100644 --- a/MediaBrowser.Controller/Providers/IProviderManager.cs +++ b/MediaBrowser.Controller/Providers/IProviderManager.cs @@ -74,13 +74,13 @@ namespace MediaBrowser.Controller.Providers /// <param name="providerName">Name of the provider.</param> /// <param name="type">The type.</param> /// <returns>Task{IEnumerable{RemoteImageInfo}}.</returns> - Task<IEnumerable<RemoteImageInfo>> GetAvailableRemoteImages(BaseItem item, CancellationToken cancellationToken, string providerName = null, ImageType? type = null); + Task<IEnumerable<RemoteImageInfo>> GetAvailableRemoteImages(IHasImages item, CancellationToken cancellationToken, string providerName = null, ImageType? type = null); /// <summary> /// Gets the image providers. /// </summary> /// <param name="item">The item.</param> /// <returns>IEnumerable{ImageProviderInfo}.</returns> - IEnumerable<ImageProviderInfo> GetImageProviderInfo(BaseItem item); + IEnumerable<ImageProviderInfo> GetImageProviderInfo(IHasImages item); } }
\ No newline at end of file diff --git a/MediaBrowser.Controller/Providers/IRemoteMetadataProvider.cs b/MediaBrowser.Controller/Providers/IRemoteMetadataProvider.cs new file mode 100644 index 000000000..6007a5af6 --- /dev/null +++ b/MediaBrowser.Controller/Providers/IRemoteMetadataProvider.cs @@ -0,0 +1,21 @@ +using System.Threading; +using System.Threading.Tasks; + +namespace MediaBrowser.Controller.Providers +{ + public interface IRemoteMetadataProvider : IMetadataProvider + { + } + + public interface IRemoteMetadataProvider<TItemType> : IMetadataProvider<TItemType>, IRemoteMetadataProvider + where TItemType : IHasMetadata + { + /// <summary> + /// Gets the metadata. + /// </summary> + /// <param name="id">The identifier.</param> + /// <param name="cancellationToken">The cancellation token.</param> + /// <returns>Task{MetadataResult{`0}}.</returns> + Task<MetadataResult<TItemType>> GetMetadata(ItemId id, CancellationToken cancellationToken); + } +} diff --git a/MediaBrowser.Controller/Providers/ItemId.cs b/MediaBrowser.Controller/Providers/ItemId.cs index b3fe5bee5..3abb64bfb 100644 --- a/MediaBrowser.Controller/Providers/ItemId.cs +++ b/MediaBrowser.Controller/Providers/ItemId.cs @@ -37,4 +37,18 @@ namespace MediaBrowser.Controller.Providers ProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase); } } + + public class AlbumId : ItemId + { + /// <summary> + /// Gets or sets the album artist. + /// </summary> + /// <value>The album artist.</value> + public string AlbumArtist { get; set; } + /// <summary> + /// Gets or sets the artist music brainz identifier. + /// </summary> + /// <value>The artist music brainz identifier.</value> + public string ArtistMusicBrainzId { get; set; } + } } |
