diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-02-03 00:35:43 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-02-03 00:35:43 -0500 |
| commit | 30ebfab8e0ae39213a5a550fbcbaa2463d6a74da (patch) | |
| tree | fe6614f197b623917d0034bfec02c5d500f81ab9 /MediaBrowser.Controller | |
| parent | 6261f157f340e4f544f8f41a81b3cc1f2c69f5b1 (diff) | |
converted season providers
Diffstat (limited to 'MediaBrowser.Controller')
| -rw-r--r-- | MediaBrowser.Controller/Entities/BaseItem.cs | 8 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/Folder.cs | 9 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/User.cs | 27 |
3 files changed, 14 insertions, 30 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index d9579d79f..5a041860b 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<bool> RefreshMetadataDirect(CancellationToken cancellationToken, bool forceSave = false, bool forceRefresh = false) { diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index a4257b2a5..94db04864 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<bool> 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); } /// <summary> diff --git a/MediaBrowser.Controller/Entities/User.cs b/MediaBrowser.Controller/Entities/User.cs index c109e1d0c..5feb000af 100644 --- a/MediaBrowser.Controller/Entities/User.cs +++ b/MediaBrowser.Controller/Entities/User.cs @@ -275,33 +275,6 @@ namespace MediaBrowser.Controller.Entities } /// <summary> - /// 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. - /// </summary> - /// <param name="cancellationToken">The cancellation token.</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> - /// <returns>true if a provider reports we changed</returns> - public override async Task<bool> 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; - } - - /// <summary> /// Updates the configuration. /// </summary> /// <param name="config">The config.</param> |
