aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-03 00:35:43 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-03 00:35:43 -0500
commit30ebfab8e0ae39213a5a550fbcbaa2463d6a74da (patch)
treefe6614f197b623917d0034bfec02c5d500f81ab9 /MediaBrowser.Controller
parent6261f157f340e4f544f8f41a81b3cc1f2c69f5b1 (diff)
converted season providers
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs8
-rw-r--r--MediaBrowser.Controller/Entities/Folder.cs9
-rw-r--r--MediaBrowser.Controller/Entities/User.cs27
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>