From 30ebfab8e0ae39213a5a550fbcbaa2463d6a74da Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 3 Feb 2014 00:35:43 -0500 Subject: converted season providers --- MediaBrowser.Controller/Entities/BaseItem.cs | 8 ++++++++ MediaBrowser.Controller/Entities/Folder.cs | 9 ++++++--- MediaBrowser.Controller/Entities/User.cs | 27 --------------------------- 3 files changed, 14 insertions(+), 30 deletions(-) (limited to 'MediaBrowser.Controller') diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index d9579d79f8..5a041860bb 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -784,11 +784,19 @@ namespace MediaBrowser.Controller.Entities ResetResolveArgs(); } + await BeforeRefreshMetadata(options, cancellationToken).ConfigureAwait(false); + await ProviderManager.RefreshMetadata(this, options, cancellationToken).ConfigureAwait(false); return false; } + private readonly Task _cachedTask = Task.FromResult(true); + protected virtual Task BeforeRefreshMetadata(MetadataRefreshOptions options, CancellationToken cancellationToken) + { + return _cachedTask; + } + [Obsolete] public virtual async Task RefreshMetadataDirect(CancellationToken cancellationToken, bool forceSave = false, bool forceRefresh = false) { diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index a4257b2a5b..94db048647 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -914,11 +914,14 @@ namespace MediaBrowser.Controller.Entities return item; } - public override async Task RefreshMetadataDirect(CancellationToken cancellationToken, bool forceSave = false, bool forceRefresh = false) + protected override Task BeforeRefreshMetadata(MetadataRefreshOptions options, CancellationToken cancellationToken) { - var changed = await base.RefreshMetadataDirect(cancellationToken, forceSave, forceRefresh).ConfigureAwait(false); + if (SupportsShortcutChildren && LocationType == LocationType.FileSystem) + { + RefreshLinkedChildren(); + } - return (SupportsShortcutChildren && LocationType == LocationType.FileSystem && RefreshLinkedChildren()) || changed; + return base.BeforeRefreshMetadata(options, cancellationToken); } /// diff --git a/MediaBrowser.Controller/Entities/User.cs b/MediaBrowser.Controller/Entities/User.cs index c109e1d0cd..5feb000afd 100644 --- a/MediaBrowser.Controller/Entities/User.cs +++ b/MediaBrowser.Controller/Entities/User.cs @@ -274,33 +274,6 @@ namespace MediaBrowser.Controller.Entities serializer.SerializeToFile(Configuration, xmlPath); } - /// - /// Refresh metadata on us by execution our provider chain - /// The item will be persisted if a change is made by a provider, or if it's new or changed. - /// - /// The cancellation token. - /// if set to true [is new item]. - /// if set to true [force]. - /// true if a provider reports we changed - public override async Task RefreshMetadataDirect(CancellationToken cancellationToken, bool forceSave = false, bool forceRefresh = false) - { - // Reload this - ResetResolveArgs(); - - var updateReason = await ProviderManager.ExecuteMetadataProviders(this, cancellationToken, forceRefresh).ConfigureAwait(false); - - var changed = updateReason.HasValue; - - if (changed || forceSave) - { - cancellationToken.ThrowIfCancellationRequested(); - - await UserManager.UpdateUser(this).ConfigureAwait(false); - } - - return changed; - } - /// /// Updates the configuration. /// -- cgit v1.2.3