diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2017-06-23 12:04:45 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2017-06-23 12:04:45 -0400 |
| commit | 1e5c3db9eba730fe8b52995e5c699c22983fa62a (patch) | |
| tree | dd3aed9fe657cc48366b336591838cda756b119f /MediaBrowser.Controller/Entities/BaseItem.cs | |
| parent | 6ff89eab78a9d25fc8a8d195af558bf1c7ab4d8f (diff) | |
support individual library refreshing
Diffstat (limited to 'MediaBrowser.Controller/Entities/BaseItem.cs')
| -rw-r--r-- | MediaBrowser.Controller/Entities/BaseItem.cs | 38 |
1 files changed, 31 insertions, 7 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 4efea94d8..b4a3d89ea 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -1058,6 +1058,16 @@ namespace MediaBrowser.Controller.Entities return RefreshMetadata(new MetadataRefreshOptions(new DirectoryService(Logger, FileSystem)), cancellationToken); } + protected virtual void TriggerOnRefreshStart() + { + + } + + protected virtual void TriggerOnRefreshComplete() + { + + } + /// <summary> /// Overrides the base implementation to refresh metadata for local trailers /// </summary> @@ -1066,6 +1076,8 @@ namespace MediaBrowser.Controller.Entities /// <returns>true if a provider reports we changed</returns> public async Task<ItemUpdateType> RefreshMetadata(MetadataRefreshOptions options, CancellationToken cancellationToken) { + TriggerOnRefreshStart(); + var locationType = LocationType; var requiresSave = false; @@ -1091,14 +1103,21 @@ namespace MediaBrowser.Controller.Entities } } - var refreshOptions = requiresSave - ? new MetadataRefreshOptions(options) - { - ForceSave = true - } - : options; + try + { + var refreshOptions = requiresSave + ? new MetadataRefreshOptions(options) + { + ForceSave = true + } + : options; - return await ProviderManager.RefreshSingleItem(this, refreshOptions, cancellationToken).ConfigureAwait(false); + return await ProviderManager.RefreshSingleItem(this, refreshOptions, cancellationToken).ConfigureAwait(false); + } + finally + { + TriggerOnRefreshComplete(); + } } [IgnoreDataMember] @@ -2421,5 +2440,10 @@ namespace MediaBrowser.Controller.Entities { return new List<ExternalUrl>(); } + + public virtual double? GetRefreshProgress() + { + return null; + } } }
\ No newline at end of file |
