From 88fce3670aa6c1015a1a9909c311b0400fb63471 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 21 Aug 2014 12:21:39 -0400 Subject: [PATCH] only run identity providers if refreshing metadata --- .../Manager/MetadataService.cs | 17 +++++------------ .../Dto/DtoService.cs | 4 +++- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs index 56d2915e59..eee8b59e24 100644 --- a/MediaBrowser.Providers/Manager/MetadataService.cs +++ b/MediaBrowser.Providers/Manager/MetadataService.cs @@ -103,9 +103,6 @@ namespace MediaBrowser.Providers.Manager refreshResult.AddStatus(ProviderRefreshStatus.Failure, ex.Message); } - // Identify item - TIdType id = null; - // Next run metadata providers if (refreshOptions.MetadataRefreshMode != MetadataRefreshMode.None) { @@ -122,23 +119,19 @@ namespace MediaBrowser.Providers.Manager if (providers.Count > 0) { - id = await CreateInitialLookupInfo(itemOfType, cancellationToken).ConfigureAwait(false); + var id = await CreateInitialLookupInfo(itemOfType, cancellationToken).ConfigureAwait(false); + var result = await RefreshWithProviders(itemOfType, id, refreshOptions, providers, itemImageProvider, cancellationToken).ConfigureAwait(false); updateType = updateType | result.UpdateType; refreshResult.AddStatus(result.Status, result.ErrorMessage); refreshResult.SetDateLastMetadataRefresh(DateTime.UtcNow); refreshResult.AddImageProvidersRefreshed(result.Providers); + + MergeIdentities(itemOfType, id); } } - if (id == null) - { - id = await CreateInitialLookupInfo(itemOfType, cancellationToken).ConfigureAwait(false); - } - - MergeIdentities(itemOfType, id); - // Next run remote image providers, but only if local image providers didn't throw an exception if (!localImagesFailed && refreshOptions.ImageRefreshMode != ImageRefreshMode.ValidationOnly) { @@ -491,7 +484,7 @@ namespace MediaBrowser.Providers.Manager { try { - //await hasIdentity.FindIdentities(ProviderManager, cancellationToken).ConfigureAwait(false); + await hasIdentity.FindIdentities(ProviderManager, cancellationToken).ConfigureAwait(false); } catch (Exception ex) { diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/MediaBrowser.Server.Implementations/Dto/DtoService.cs index 0b680c87c1..2010b495c8 100644 --- a/MediaBrowser.Server.Implementations/Dto/DtoService.cs +++ b/MediaBrowser.Server.Implementations/Dto/DtoService.cs @@ -251,7 +251,9 @@ namespace MediaBrowser.Server.Implementations.Dto dto.ChildCount = GetChildCount(folder, user); - if (!(folder is UserRootFolder)) + // These are just far too slow. + // TODO: Disable for CollectionFolder + if (!(folder is UserRootFolder) && !(folder is UserView)) { SetSpecialCounts(folder, user, dto, fields); }