From 55bbfc2dcc6431c1d2b6320c47a600e98a7adc1d Mon Sep 17 00:00:00 2001 From: Eric Reed Date: Thu, 27 Jun 2013 15:08:57 -0400 Subject: Change update checks to use static file --- .../ScheduledTasks/PluginUpdateTask.cs | 2 +- .../Updates/InstallationManager.cs | 41 +++++++++++++++++++++- 2 files changed, 41 insertions(+), 2 deletions(-) (limited to 'MediaBrowser.Server.Implementations') diff --git a/MediaBrowser.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs b/MediaBrowser.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs index 9c869ddc1..3a0a86526 100644 --- a/MediaBrowser.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs +++ b/MediaBrowser.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs @@ -60,7 +60,7 @@ namespace MediaBrowser.Server.Implementations.ScheduledTasks { progress.Report(0); - var packagesToInstall = (await _installationManager.GetAvailablePluginUpdates(true, cancellationToken).ConfigureAwait(false)).ToList(); + var packagesToInstall = (await _installationManager.GetAvailablePluginUpdatesStatic(true, cancellationToken).ConfigureAwait(false)).ToList(); progress.Report(10); diff --git a/MediaBrowser.Server.Implementations/Updates/InstallationManager.cs b/MediaBrowser.Server.Implementations/Updates/InstallationManager.cs index 9c3b532ec..4dd9c47d1 100644 --- a/MediaBrowser.Server.Implementations/Updates/InstallationManager.cs +++ b/MediaBrowser.Server.Implementations/Updates/InstallationManager.cs @@ -171,6 +171,26 @@ namespace MediaBrowser.Server.Implementations.Updates { var packages = (await _packageManager.GetAvailablePackages(cancellationToken).ConfigureAwait(false)).ToList(); + return FilterPackages(packages, packageType, applicationVersion); + } + + /// + /// Gets all available packages. + /// + /// The cancellation token. + /// Type of the package. + /// The application version. + /// Task{List{PackageInfo}}. + protected async Task> GetAvailablePackagesStatic(CancellationToken cancellationToken, + PackageType? packageType = null, + Version applicationVersion = null) + { + var packages = (await _packageManager.GetAvailablePackagesStatic(cancellationToken).ConfigureAwait(false)).ToList(); + return FilterPackages(packages, packageType, applicationVersion); + } + + protected IEnumerable FilterPackages(List packages, PackageType? packageType, Version applicationVersion) + { if (packageType.HasValue) { packages = packages.Where(p => p.type == packageType.Value).ToList(); @@ -265,7 +285,8 @@ namespace MediaBrowser.Server.Implementations.Updates } /// - /// Gets the available plugin updates. + /// Gets the available plugin updates including registration information for each one. + /// Used with API and catalog. /// /// if set to true [with auto update enabled]. /// The cancellation token. @@ -273,7 +294,25 @@ namespace MediaBrowser.Server.Implementations.Updates public async Task> GetAvailablePluginUpdates(bool withAutoUpdateEnabled, CancellationToken cancellationToken) { var catalog = await GetAvailablePackages(cancellationToken).ConfigureAwait(false); + return FilterCatalog(catalog, withAutoUpdateEnabled); + } + /// + /// Gets the available plugin updates from a static resource - no registration information. + /// Used for update checks. + /// + /// if set to true [with auto update enabled]. + /// The cancellation token. + /// Task{IEnumerable{PackageVersionInfo}}. + public async Task> GetAvailablePluginUpdatesStatic(bool withAutoUpdateEnabled, CancellationToken cancellationToken) + { + var catalog = await GetAvailablePackagesStatic(cancellationToken).ConfigureAwait(false); + return FilterCatalog(catalog, withAutoUpdateEnabled); + } + + protected IEnumerable FilterCatalog(IEnumerable catalog, bool withAutoUpdateEnabled) + { + var plugins = ApplicationHost.Plugins; if (withAutoUpdateEnabled) -- cgit v1.2.3