diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-09-28 16:49:43 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-09-28 16:49:43 -0400 |
| commit | 1fcfff41c7d33266a059b9f4161f9aea34be8de4 (patch) | |
| tree | db41aa2494cc0a69299f50efc2a53ef781dc5741 /MediaBrowser.Server.Implementations/Channels/ChannelPostScanTask.cs | |
| parent | c05cb1dcb1bb51cadc6e413395f2adb63cbab6ad (diff) | |
update channels
Diffstat (limited to 'MediaBrowser.Server.Implementations/Channels/ChannelPostScanTask.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Channels/ChannelPostScanTask.cs | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/MediaBrowser.Server.Implementations/Channels/ChannelPostScanTask.cs b/MediaBrowser.Server.Implementations/Channels/ChannelPostScanTask.cs index 6df12e669..1dff669ae 100644 --- a/MediaBrowser.Server.Implementations/Channels/ChannelPostScanTask.cs +++ b/MediaBrowser.Server.Implementations/Channels/ChannelPostScanTask.cs @@ -136,22 +136,43 @@ namespace MediaBrowser.Server.Implementations.Channels totalCount = result.TotalRecordCount; } + progress.Report(50); + if (currentRefreshLevel < maxRefreshLevel) { + var numComplete = 0; + var numItems = folderItems.Count; + foreach (var folder in folderItems) { try { - var innerProgress = new Progress<double>(); - + var innerProgress = new ActionableProgress<double>(); + + var startingNumberComplete = numComplete; + innerProgress.RegisterAction(p => + { + double innerPercent = startingNumberComplete; + innerPercent += (p / 100); + innerPercent /= numItems; + progress.Report((innerPercent * 50) + 50); + }); + await GetAllItems(user, channelId, folder, currentRefreshLevel + 1, maxRefreshLevel, innerProgress, cancellationToken).ConfigureAwait(false); } catch (Exception ex) { _logger.ErrorException("Error getting channel content", ex); } + + numComplete++; + double percent = numComplete; + percent /= numItems; + progress.Report(percent * 100); } } + + progress.Report(100); } } } |
