diff options
| author | Luke <luke.pulverenti@gmail.com> | 2016-11-03 19:59:50 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-11-03 19:59:50 -0400 |
| commit | c53745548ac2130f4cfbbe0d7a2804c36c8ae4eb (patch) | |
| tree | 6ee298ebb5470c4f3bcbef8d814a0354901469c4 /MediaBrowser.Server.Implementations/Sync/MultiProviderSync.cs | |
| parent | 338b04a0c58729ec70aed89924ea6bd12422872b (diff) | |
| parent | 405a5f69c5967b4d919b5fe91396f12cb83e8aa8 (diff) | |
Merge pull request #2267 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.Server.Implementations/Sync/MultiProviderSync.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Sync/MultiProviderSync.cs | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/MediaBrowser.Server.Implementations/Sync/MultiProviderSync.cs b/MediaBrowser.Server.Implementations/Sync/MultiProviderSync.cs deleted file mode 100644 index 4716041177..0000000000 --- a/MediaBrowser.Server.Implementations/Sync/MultiProviderSync.cs +++ /dev/null @@ -1,76 +0,0 @@ -using MediaBrowser.Common.Configuration; -using MediaBrowser.Common.Progress; -using MediaBrowser.Controller; -using MediaBrowser.Controller.Sync; -using MediaBrowser.Model.Logging; -using MediaBrowser.Model.Sync; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; -using MediaBrowser.Common.IO; -using MediaBrowser.Controller.IO; -using MediaBrowser.Model.IO; - -namespace MediaBrowser.Server.Implementations.Sync -{ - public class MultiProviderSync - { - private readonly SyncManager _syncManager; - private readonly IServerApplicationHost _appHost; - private readonly ILogger _logger; - private readonly IFileSystem _fileSystem; - private readonly IConfigurationManager _config; - - public MultiProviderSync(SyncManager syncManager, IServerApplicationHost appHost, ILogger logger, IFileSystem fileSystem, IConfigurationManager config) - { - _syncManager = syncManager; - _appHost = appHost; - _logger = logger; - _fileSystem = fileSystem; - _config = config; - } - - public async Task Sync(IEnumerable<IServerSyncProvider> providers, IProgress<double> progress, CancellationToken cancellationToken) - { - var targets = providers - .SelectMany(i => i.GetAllSyncTargets().Select(t => new Tuple<IServerSyncProvider, SyncTarget>(i, t))) - .ToList(); - - var numComplete = 0; - double startingPercent = 0; - double percentPerItem = 1; - if (targets.Count > 0) - { - percentPerItem /= targets.Count; - } - - foreach (var target in targets) - { - cancellationToken.ThrowIfCancellationRequested(); - - var currentPercent = startingPercent; - var innerProgress = new ActionableProgress<double>(); - innerProgress.RegisterAction(pct => - { - var totalProgress = pct * percentPerItem; - totalProgress += currentPercent; - progress.Report(totalProgress); - }); - - var dataProvider = _syncManager.GetDataProvider(target.Item1, target.Item2); - - await new MediaSync(_logger, _syncManager, _appHost, _fileSystem, _config) - .Sync(target.Item1, dataProvider, target.Item2, innerProgress, cancellationToken) - .ConfigureAwait(false); - - numComplete++; - startingPercent = numComplete; - startingPercent /= targets.Count; - startingPercent *= 100; - progress.Report(startingPercent); - } - } - } -} |
