diff options
Diffstat (limited to 'MediaBrowser.Providers/Manager')
| -rw-r--r-- | MediaBrowser.Providers/Manager/ConcreteMetadataService.cs | 20 | ||||
| -rw-r--r-- | MediaBrowser.Providers/Manager/MetadataService.cs | 6 |
2 files changed, 24 insertions, 2 deletions
diff --git a/MediaBrowser.Providers/Manager/ConcreteMetadataService.cs b/MediaBrowser.Providers/Manager/ConcreteMetadataService.cs new file mode 100644 index 000000000..3a4bc06ca --- /dev/null +++ b/MediaBrowser.Providers/Manager/ConcreteMetadataService.cs @@ -0,0 +1,20 @@ +using MediaBrowser.Controller.Configuration; +using MediaBrowser.Controller.Providers; +using MediaBrowser.Model.Logging; + +namespace MediaBrowser.Providers.Manager +{ + public abstract class ConcreteMetadataService<TItemType> : MetadataService<TItemType> + where TItemType : IHasMetadata, new() + { + protected ConcreteMetadataService(IServerConfigurationManager serverConfigurationManager, ILogger logger, IProviderManager providerManager, IProviderRepository providerRepo) + : base(serverConfigurationManager, logger, providerManager, providerRepo) + { + } + + protected override TItemType CreateNew() + { + return new TItemType(); + } + } +} diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs index e8b3a6ad6..d946f9cbd 100644 --- a/MediaBrowser.Providers/Manager/MetadataService.cs +++ b/MediaBrowser.Providers/Manager/MetadataService.cs @@ -14,7 +14,7 @@ using System.Threading.Tasks; namespace MediaBrowser.Providers.Manager { public abstract class MetadataService<TItemType> : IMetadataService - where TItemType : IHasMetadata, new() + where TItemType : IHasMetadata { protected readonly IServerConfigurationManager ServerConfigurationManager; protected readonly ILogger Logger; @@ -263,7 +263,7 @@ namespace MediaBrowser.Providers.Manager Providers = providers.Select(i => i.GetType().FullName.GetMD5()).ToList() }; - var temp = new TItemType(); + var temp = CreateNew(); // If replacing all metadata, run internet providers first if (options.ReplaceAllMetadata) @@ -317,6 +317,8 @@ namespace MediaBrowser.Providers.Manager return refreshResult; } + protected abstract TItemType CreateNew(); + private async Task ExecuteRemoteProviders(TItemType item, TItemType temp, IEnumerable<IRemoteMetadataProvider<TItemType>> providers, RefreshResult refreshResult, CancellationToken cancellationToken) { var id = GetId(item); |
