From 234dba2d9a676ed99b972186160f8993e7293208 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 6 Sep 2014 16:09:35 -0400 Subject: move usage reporter to server project --- .../ScheduledTasks/Tasks/PluginUpdateTask.cs | 134 --------------------- 1 file changed, 134 deletions(-) delete mode 100644 MediaBrowser.Common.Implementations/ScheduledTasks/Tasks/PluginUpdateTask.cs (limited to 'MediaBrowser.Common.Implementations/ScheduledTasks/Tasks/PluginUpdateTask.cs') diff --git a/MediaBrowser.Common.Implementations/ScheduledTasks/Tasks/PluginUpdateTask.cs b/MediaBrowser.Common.Implementations/ScheduledTasks/Tasks/PluginUpdateTask.cs deleted file mode 100644 index e31fc4abe..000000000 --- a/MediaBrowser.Common.Implementations/ScheduledTasks/Tasks/PluginUpdateTask.cs +++ /dev/null @@ -1,134 +0,0 @@ -using MediaBrowser.Common.ScheduledTasks; -using MediaBrowser.Common.Updates; -using MediaBrowser.Model.Logging; -using MediaBrowser.Model.Net; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; - -namespace MediaBrowser.Common.Implementations.ScheduledTasks.Tasks -{ - /// - /// Plugin Update Task - /// - public class PluginUpdateTask : IScheduledTask - { - /// - /// The _logger - /// - private readonly ILogger _logger; - - private readonly IInstallationManager _installationManager; - - private readonly IApplicationHost _appHost; - - public PluginUpdateTask(ILogger logger, IInstallationManager installationManager, IApplicationHost appHost) - { - _logger = logger; - _installationManager = installationManager; - _appHost = appHost; - } - - /// - /// Creates the triggers that define when the task will run - /// - /// IEnumerable{BaseTaskTrigger}. - public IEnumerable GetDefaultTriggers() - { - return new ITaskTrigger[] { - - // At startup - new StartupTrigger(), - - // Every so often - new IntervalTrigger { Interval = TimeSpan.FromHours(24)} - }; - } - - /// - /// Update installed plugins - /// - /// The cancellation token. - /// The progress. - /// Task. - public async Task Execute(CancellationToken cancellationToken, IProgress progress) - { - progress.Report(0); - - var packagesToInstall = (await _installationManager.GetAvailablePluginUpdates(_appHost.ApplicationVersion, true, cancellationToken).ConfigureAwait(false)).ToList(); - - progress.Report(10); - - var numComplete = 0; - - // Create tasks for each one - var tasks = packagesToInstall.Select(i => Task.Run(async () => - { - cancellationToken.ThrowIfCancellationRequested(); - - try - { - await _installationManager.InstallPackage(i, new Progress(), cancellationToken).ConfigureAwait(false); - } - catch (OperationCanceledException) - { - // InstallPackage has it's own inner cancellation token, so only throw this if it's ours - if (cancellationToken.IsCancellationRequested) - { - throw; - } - } - catch (HttpException ex) - { - _logger.ErrorException("Error downloading {0}", ex, i.name); - } - catch (IOException ex) - { - _logger.ErrorException("Error updating {0}", ex, i.name); - } - - // Update progress - lock (progress) - { - numComplete++; - double percent = numComplete; - percent /= packagesToInstall.Count; - - progress.Report((90 * percent) + 10); - } - })); - - cancellationToken.ThrowIfCancellationRequested(); - - await Task.WhenAll(tasks).ConfigureAwait(false); - - progress.Report(100); - } - - /// - /// Gets the name of the task - /// - /// The name. - public string Name - { - get { return "Check for plugin updates"; } - } - - /// - /// Gets the description. - /// - /// The description. - public string Description - { - get { return "Downloads and installs updates for plugins that are configured to update automatically."; } - } - - public string Category - { - get { return "Application"; } - } - } -} \ No newline at end of file -- cgit v1.2.3