skip regeneration of resolve args when possible
This commit is contained in:
parent
8ccc871d72
commit
dde19b7f10
|
@ -864,11 +864,15 @@ namespace MediaBrowser.Controller.Entities
|
||||||
/// <param name="forceSave">if set to <c>true</c> [is new item].</param>
|
/// <param name="forceSave">if set to <c>true</c> [is new item].</param>
|
||||||
/// <param name="forceRefresh">if set to <c>true</c> [force].</param>
|
/// <param name="forceRefresh">if set to <c>true</c> [force].</param>
|
||||||
/// <param name="allowSlowProviders">if set to <c>true</c> [allow slow providers].</param>
|
/// <param name="allowSlowProviders">if set to <c>true</c> [allow slow providers].</param>
|
||||||
|
/// <param name="resetResolveArgs">if set to <c>true</c> [reset resolve args].</param>
|
||||||
/// <returns>true if a provider reports we changed</returns>
|
/// <returns>true if a provider reports we changed</returns>
|
||||||
public virtual async Task<bool> RefreshMetadata(CancellationToken cancellationToken, bool forceSave = false, bool forceRefresh = false, bool allowSlowProviders = true)
|
public virtual async Task<bool> RefreshMetadata(CancellationToken cancellationToken, bool forceSave = false, bool forceRefresh = false, bool allowSlowProviders = true, bool resetResolveArgs = true)
|
||||||
{
|
{
|
||||||
// Reload this
|
if (resetResolveArgs)
|
||||||
ResolveArgs = null;
|
{
|
||||||
|
// Reload this
|
||||||
|
ResolveArgs = null;
|
||||||
|
}
|
||||||
|
|
||||||
// Refresh for the item
|
// Refresh for the item
|
||||||
var itemRefreshTask = ProviderManager.ExecuteMetadataProviders(this, cancellationToken, forceRefresh, allowSlowProviders);
|
var itemRefreshTask = ProviderManager.ExecuteMetadataProviders(this, cancellationToken, forceRefresh, allowSlowProviders);
|
||||||
|
|
|
@ -782,7 +782,7 @@ namespace MediaBrowser.Controller.Entities
|
||||||
var child = currentTuple.Item1;
|
var child = currentTuple.Item1;
|
||||||
|
|
||||||
//refresh it
|
//refresh it
|
||||||
await child.RefreshMetadata(cancellationToken, forceSave: currentTuple.Item2, forceRefresh: forceRefreshMetadata).ConfigureAwait(false);
|
await child.RefreshMetadata(cancellationToken, forceSave: currentTuple.Item2, forceRefresh: forceRefreshMetadata, resetResolveArgs: false).ConfigureAwait(false);
|
||||||
|
|
||||||
// Refresh children if a folder and the item changed or recursive is set to true
|
// Refresh children if a folder and the item changed or recursive is set to true
|
||||||
var refreshChildren = child.IsFolder && (currentTuple.Item2 || (recursive.HasValue && recursive.Value));
|
var refreshChildren = child.IsFolder && (currentTuple.Item2 || (recursive.HasValue && recursive.Value));
|
||||||
|
|
|
@ -196,8 +196,9 @@ namespace MediaBrowser.Controller.Entities
|
||||||
/// <param name="forceSave">if set to <c>true</c> [is new item].</param>
|
/// <param name="forceSave">if set to <c>true</c> [is new item].</param>
|
||||||
/// <param name="forceRefresh">if set to <c>true</c> [force].</param>
|
/// <param name="forceRefresh">if set to <c>true</c> [force].</param>
|
||||||
/// <param name="allowSlowProviders">if set to <c>true</c> [allow slow providers].</param>
|
/// <param name="allowSlowProviders">if set to <c>true</c> [allow slow providers].</param>
|
||||||
|
/// <param name="resetResolveArgs">if set to <c>true</c> [reset resolve args].</param>
|
||||||
/// <returns>Task{System.Boolean}.</returns>
|
/// <returns>Task{System.Boolean}.</returns>
|
||||||
public override Task<bool> RefreshMetadata(CancellationToken cancellationToken, bool forceSave = false, bool forceRefresh = false, bool allowSlowProviders = true)
|
public override Task<bool> RefreshMetadata(CancellationToken cancellationToken, bool forceSave = false, bool forceRefresh = false, bool allowSlowProviders = true, bool resetResolveArgs = true)
|
||||||
{
|
{
|
||||||
// We should never get in here since these are not part of the library
|
// We should never get in here since these are not part of the library
|
||||||
return Task.FromResult(false);
|
return Task.FromResult(false);
|
||||||
|
|
|
@ -62,11 +62,12 @@ namespace MediaBrowser.Controller.Entities.Movies
|
||||||
/// <param name="forceSave">if set to <c>true</c> [is new item].</param>
|
/// <param name="forceSave">if set to <c>true</c> [is new item].</param>
|
||||||
/// <param name="forceRefresh">if set to <c>true</c> [force].</param>
|
/// <param name="forceRefresh">if set to <c>true</c> [force].</param>
|
||||||
/// <param name="allowSlowProviders">if set to <c>true</c> [allow slow providers].</param>
|
/// <param name="allowSlowProviders">if set to <c>true</c> [allow slow providers].</param>
|
||||||
|
/// <param name="resetResolveArgs">The reset resolve args.</param>
|
||||||
/// <returns>Task{System.Boolean}.</returns>
|
/// <returns>Task{System.Boolean}.</returns>
|
||||||
public override async Task<bool> RefreshMetadata(CancellationToken cancellationToken, bool forceSave = false, bool forceRefresh = false, bool allowSlowProviders = true)
|
public override async Task<bool> RefreshMetadata(CancellationToken cancellationToken, bool forceSave = false, bool forceRefresh = false, bool allowSlowProviders = true, bool resetResolveArgs = true)
|
||||||
{
|
{
|
||||||
// Kick off a task to refresh the main item
|
// Kick off a task to refresh the main item
|
||||||
var result = await base.RefreshMetadata(cancellationToken, forceSave, forceRefresh, allowSlowProviders).ConfigureAwait(false);
|
var result = await base.RefreshMetadata(cancellationToken, forceSave, forceRefresh, allowSlowProviders, resetResolveArgs).ConfigureAwait(false);
|
||||||
|
|
||||||
var specialFeaturesChanged = false;
|
var specialFeaturesChanged = false;
|
||||||
|
|
||||||
|
|
|
@ -307,10 +307,13 @@ namespace MediaBrowser.Controller.Entities
|
||||||
/// <param name="forceRefresh">if set to <c>true</c> [force].</param>
|
/// <param name="forceRefresh">if set to <c>true</c> [force].</param>
|
||||||
/// <param name="allowSlowProviders">if set to <c>true</c> [allow slow providers].</param>
|
/// <param name="allowSlowProviders">if set to <c>true</c> [allow slow providers].</param>
|
||||||
/// <returns>true if a provider reports we changed</returns>
|
/// <returns>true if a provider reports we changed</returns>
|
||||||
public override async Task<bool> RefreshMetadata(CancellationToken cancellationToken, bool forceSave = false, bool forceRefresh = false, bool allowSlowProviders = true)
|
public override async Task<bool> RefreshMetadata(CancellationToken cancellationToken, bool forceSave = false, bool forceRefresh = false, bool allowSlowProviders = true, bool resetResolveArgs = true)
|
||||||
{
|
{
|
||||||
// Reload this
|
if (resetResolveArgs)
|
||||||
ResolveArgs = null;
|
{
|
||||||
|
// Reload this
|
||||||
|
ResolveArgs = null;
|
||||||
|
}
|
||||||
|
|
||||||
var changed = await ProviderManager.ExecuteMetadataProviders(this, cancellationToken, forceRefresh, allowSlowProviders).ConfigureAwait(false);
|
var changed = await ProviderManager.ExecuteMetadataProviders(this, cancellationToken, forceRefresh, allowSlowProviders).ConfigureAwait(false);
|
||||||
|
|
||||||
|
|
|
@ -123,11 +123,12 @@ namespace MediaBrowser.Controller.Entities
|
||||||
/// <param name="forceSave">if set to <c>true</c> [is new item].</param>
|
/// <param name="forceSave">if set to <c>true</c> [is new item].</param>
|
||||||
/// <param name="forceRefresh">if set to <c>true</c> [force].</param>
|
/// <param name="forceRefresh">if set to <c>true</c> [force].</param>
|
||||||
/// <param name="allowSlowProviders">if set to <c>true</c> [allow slow providers].</param>
|
/// <param name="allowSlowProviders">if set to <c>true</c> [allow slow providers].</param>
|
||||||
|
/// <param name="resetResolveArgs">The reset resolve args.</param>
|
||||||
/// <returns>true if a provider reports we changed</returns>
|
/// <returns>true if a provider reports we changed</returns>
|
||||||
public override async Task<bool> RefreshMetadata(CancellationToken cancellationToken, bool forceSave = false, bool forceRefresh = false, bool allowSlowProviders = true)
|
public override async Task<bool> RefreshMetadata(CancellationToken cancellationToken, bool forceSave = false, bool forceRefresh = false, bool allowSlowProviders = true, bool resetResolveArgs = true)
|
||||||
{
|
{
|
||||||
// Kick off a task to refresh the main item
|
// Kick off a task to refresh the main item
|
||||||
var result = await base.RefreshMetadata(cancellationToken, forceSave, forceRefresh, allowSlowProviders).ConfigureAwait(false);
|
var result = await base.RefreshMetadata(cancellationToken, forceSave, forceRefresh, allowSlowProviders, resetResolveArgs).ConfigureAwait(false);
|
||||||
|
|
||||||
var additionalPartsChanged = false;
|
var additionalPartsChanged = false;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user