aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/Manager
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2015-09-23 14:34:36 -0400
committerLuke <luke.pulverenti@gmail.com>2015-09-23 14:34:36 -0400
commite429b421461ca9abcb7acb839edb8ea7ede00f91 (patch)
tree979d34d14d74b8a2f558d286cef822745d0bf35c /MediaBrowser.Providers/Manager
parent114be60e5240696cb43b5884992de239c8f7eac8 (diff)
parent6d25610d533798f07aa5dae3bffca22cd550ce95 (diff)
Merge pull request #1185 from TomGillen/absolute-ids
Re-designed item identity providers
Diffstat (limited to 'MediaBrowser.Providers/Manager')
-rw-r--r--MediaBrowser.Providers/Manager/MetadataService.cs36
-rw-r--r--MediaBrowser.Providers/Manager/ProviderManager.cs11
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 6f3c1bb503..596a76327b 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)