diff options
| author | Luke <luke.pulverenti@gmail.com> | 2017-06-23 12:08:03 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-06-23 12:08:03 -0400 |
| commit | ad5ceb2cb4352270598c226767ab78460fe6718a (patch) | |
| tree | 1a804fbb76aeb5205a065d3f742609e7bab4020e /MediaBrowser.Controller/Entities/CollectionFolder.cs | |
| parent | d4b50a18e1c639f98cb26250c4d1dccbfcc49185 (diff) | |
| parent | 023952d04df3765ee5574915f0a84903bb97a748 (diff) | |
Merge pull request #2723 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.Controller/Entities/CollectionFolder.cs')
| -rw-r--r-- | MediaBrowser.Controller/Entities/CollectionFolder.cs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Entities/CollectionFolder.cs b/MediaBrowser.Controller/Entities/CollectionFolder.cs index 8bc23a5819..0bd8606b96 100644 --- a/MediaBrowser.Controller/Entities/CollectionFolder.cs +++ b/MediaBrowser.Controller/Entities/CollectionFolder.cs @@ -10,6 +10,7 @@ using System.Threading.Tasks; using MediaBrowser.Controller.Configuration; using MediaBrowser.Model.Configuration; +using MediaBrowser.Model.Entities; using MediaBrowser.Model.Extensions; using MediaBrowser.Model.IO; using MediaBrowser.Model.Serialization; @@ -199,6 +200,30 @@ namespace MediaBrowser.Controller.Entities return changed; } + public override double? GetRefreshProgress() + { + var folders = GetPhysicalFolders(true).ToList(); + double totalProgresses = 0; + var foldersWithProgress = 0; + + foreach (var folder in folders) + { + var progress = ProviderManager.GetRefreshProgress(folder.Id); + if (progress.HasValue) + { + totalProgresses += progress.Value; + foldersWithProgress++; + } + } + + if (foldersWithProgress == 0) + { + return null; + } + + return (totalProgresses / foldersWithProgress); + } + protected override bool RefreshLinkedChildren(IEnumerable<FileSystemMetadata> fileSystemChildren) { return RefreshLinkedChildrenInternal(true); @@ -321,6 +346,11 @@ namespace MediaBrowser.Controller.Entities return GetPhysicalFolders(true).SelectMany(c => c.Children); } + public IEnumerable<Folder> GetPhysicalFolders() + { + return GetPhysicalFolders(true); + } + private IEnumerable<Folder> GetPhysicalFolders(bool enableCache) { if (enableCache) |
