diff options
| author | Thomas Gillen <thomas.gillen@googlemail.com> | 2015-09-19 22:25:19 +0100 |
|---|---|---|
| committer | Thomas Gillen <thomas.gillen@googlemail.com> | 2015-09-19 22:25:19 +0100 |
| commit | 556b34d0005dce04d6a798334fd37ba284cef3fd (patch) | |
| tree | 77df07c7bea32c42501b383901515b1a0444b86a /MediaBrowser.Providers/Manager | |
| parent | c3d6c19cc32f1ec16aa5aa1e1691a9d101c1251c (diff) | |
Re-designed item identity providers
Diffstat (limited to 'MediaBrowser.Providers/Manager')
| -rw-r--r-- | MediaBrowser.Providers/Manager/MetadataService.cs | 36 | ||||
| -rw-r--r-- | MediaBrowser.Providers/Manager/ProviderManager.cs | 11 |
2 files changed, 8 insertions, 39 deletions
diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs index 8a60ea78f9..71cfea2097 100644 --- a/MediaBrowser.Providers/Manager/MetadataService.cs +++ b/MediaBrowser.Providers/Manager/MetadataService.cs @@ -141,7 +141,8 @@ namespace MediaBrowser.Providers.Manager if (providers.Count > 0) { - var id = await CreateInitialLookupInfo(itemOfType, cancellationToken).ConfigureAwait(false); + var id = itemOfType.GetLookupInfo(); + await ItemIdentifier<TIdType>.FindIdentities(id, ProviderManager, cancellationToken); var result = await RefreshWithProviders(metadataResult, id, refreshOptions, providers, itemImageProvider, cancellationToken).ConfigureAwait(false); @@ -155,8 +156,6 @@ namespace MediaBrowser.Providers.Manager { refreshResult.SetDateLastMetadataRefresh(null); } - - MergeIdentities(itemOfType, id); } } @@ -223,16 +222,7 @@ namespace MediaBrowser.Providers.Manager item.AfterMetadataRefresh(); return _cachedTask; } - - private void MergeIdentities(TItemType item, TIdType id) - { - var hasIdentity = id as IHasIdentities<IItemIdentity>; - if (hasIdentity != null) - { - item.Identities = hasIdentity.Identities.ToList(); - } - } - + private readonly Task<ItemUpdateType> _cachedResult = Task.FromResult(ItemUpdateType.None); /// <summary> /// Befores the save. @@ -623,26 +613,6 @@ namespace MediaBrowser.Providers.Manager } } - private async Task<TIdType> CreateInitialLookupInfo(TItemType item, CancellationToken cancellationToken) - { - var info = item.GetLookupInfo(); - - var hasIdentity = info as IHasIdentities<IItemIdentity>; - if (hasIdentity != null) - { - try - { - await hasIdentity.FindIdentities(ProviderManager, cancellationToken).ConfigureAwait(false); - } - catch (Exception ex) - { - Logger.ErrorException("Error in identity providers", ex); - } - } - - return info; - } - private void MergeNewData(TItemType source, TIdType lookupInfo) { // Copy new provider id's that may have been obtained diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs index 80264d8480..16d5a8de43 100644 --- a/MediaBrowser.Providers/Manager/ProviderManager.cs +++ b/MediaBrowser.Providers/Manager/ProviderManager.cs @@ -298,17 +298,16 @@ namespace MediaBrowser.Providers.Manager .ThenBy(GetDefaultOrder); } - public IEnumerable<IItemIdentityProvider<TLookupInfo, TIdentity>> GetItemIdentityProviders<TLookupInfo, TIdentity>() + public IEnumerable<IItemIdentityProvider<TLookupInfo>> GetItemIdentityProviders<TLookupInfo>() where TLookupInfo : ItemLookupInfo - where TIdentity : IItemIdentity { - return _identityProviders.OfType<IItemIdentityProvider<TLookupInfo, TIdentity>>(); + return _identityProviders.OfType<IItemIdentityProvider<TLookupInfo>>(); } - public IEnumerable<IItemIdentityConverter<TIdentity>> GetItemIdentityConverters<TIdentity>() - where TIdentity : IItemIdentity + public IEnumerable<IItemIdentityConverter<TLookupInfo>> GetItemIdentityConverters<TLookupInfo>() + where TLookupInfo : ItemLookupInfo { - return _identityConverters.OfType<IItemIdentityConverter<TIdentity>>(); + return _identityConverters.OfType<IItemIdentityConverter<TLookupInfo>>(); } private IEnumerable<IRemoteImageProvider> GetRemoteImageProviders(IHasImages item, bool includeDisabled) |
