|
@@ -1,5 +1,5 @@
|
|
|
using MediaBrowser.Common.IO;
|
|
|
-using MediaBrowser.Common.Logging;
|
|
|
+using MediaBrowser.Model.Logging;
|
|
|
using MediaBrowser.Model.Net;
|
|
|
using MediaBrowser.Model.Plugins;
|
|
|
using System;
|
|
@@ -16,13 +16,20 @@ namespace MediaBrowser.UI.Controller
|
|
|
/// </summary>
|
|
|
public class PluginUpdater
|
|
|
{
|
|
|
+ private readonly ILogger _logger;
|
|
|
+
|
|
|
+ public PluginUpdater(ILogger logger)
|
|
|
+ {
|
|
|
+ _logger = logger;
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// Updates the plugins.
|
|
|
/// </summary>
|
|
|
/// <returns>Task{PluginUpdateResult}.</returns>
|
|
|
public async Task<PluginUpdateResult> UpdatePlugins()
|
|
|
{
|
|
|
- Logger.LogInfo("Downloading list of installed plugins");
|
|
|
+ _logger.Info("Downloading list of installed plugins");
|
|
|
var allInstalledPlugins = await UIKernel.Instance.ApiClient.GetInstalledPluginsAsync().ConfigureAwait(false);
|
|
|
|
|
|
var uiPlugins = allInstalledPlugins.Where(p => p.DownloadToUI).ToList();
|
|
@@ -63,7 +70,7 @@ namespace MediaBrowser.UI.Controller
|
|
|
if (!isPluginInstalled)
|
|
|
{
|
|
|
downloadPlugin = true;
|
|
|
- Logger.LogInfo("{0} is not installed and needs to be downloaded.", pluginInfo.Name);
|
|
|
+ _logger.Info("{0} is not installed and needs to be downloaded.", pluginInfo.Name);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -75,7 +82,7 @@ namespace MediaBrowser.UI.Controller
|
|
|
|
|
|
if (downloadPlugin)
|
|
|
{
|
|
|
- Logger.LogInfo("{0} has an updated version on the server and needs to be downloaded. Server version: {1}, UI version: {2}", pluginInfo.Name, serverVersion, fileVersion);
|
|
|
+ _logger.Info("{0} has an updated version on the server and needs to be downloaded. Server version: {1}, UI version: {2}", pluginInfo.Name, serverVersion, fileVersion);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -83,7 +90,7 @@ namespace MediaBrowser.UI.Controller
|
|
|
{
|
|
|
if (UIKernel.Instance.ApplicationVersion < Version.Parse(pluginInfo.MinimumRequiredUIVersion))
|
|
|
{
|
|
|
- Logger.LogWarning("Can't download new version of {0} because the application needs to be updated first.", pluginInfo.Name);
|
|
|
+ _logger.Warn("Can't download new version of {0} because the application needs to be updated first.", pluginInfo.Name);
|
|
|
continue;
|
|
|
}
|
|
|
|
|
@@ -102,11 +109,11 @@ namespace MediaBrowser.UI.Controller
|
|
|
}
|
|
|
catch (HttpException ex)
|
|
|
{
|
|
|
- Logger.LogException("Error downloading {0} configuration", ex, pluginInfo.Name);
|
|
|
+ _logger.ErrorException("Error downloading {0} configuration", ex, pluginInfo.Name);
|
|
|
}
|
|
|
catch (IOException ex)
|
|
|
{
|
|
|
- Logger.LogException("Error saving plugin assembly for {0}", ex, pluginInfo.Name);
|
|
|
+ _logger.ErrorException("Error saving plugin assembly for {0}", ex, pluginInfo.Name);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -136,19 +143,19 @@ namespace MediaBrowser.UI.Controller
|
|
|
if (!File.Exists(path))
|
|
|
{
|
|
|
download = true;
|
|
|
- Logger.LogInfo("{0} configuration was not found needs to be downloaded.", pluginInfo.Name);
|
|
|
+ _logger.Info("{0} configuration was not found needs to be downloaded.", pluginInfo.Name);
|
|
|
}
|
|
|
else if (File.GetLastWriteTimeUtc(path) < pluginInfo.ConfigurationDateLastModified)
|
|
|
{
|
|
|
download = true;
|
|
|
- Logger.LogInfo("{0} has an updated configuration on the server and needs to be downloaded.", pluginInfo.Name);
|
|
|
+ _logger.Info("{0} has an updated configuration on the server and needs to be downloaded.", pluginInfo.Name);
|
|
|
}
|
|
|
|
|
|
if (download)
|
|
|
{
|
|
|
if (UIKernel.Instance.ApplicationVersion < Version.Parse(pluginInfo.MinimumRequiredUIVersion))
|
|
|
{
|
|
|
- Logger.LogWarning("Can't download updated configuration of {0} because the application needs to be updated first.", pluginInfo.Name);
|
|
|
+ _logger.Warn("Can't download updated configuration of {0} because the application needs to be updated first.", pluginInfo.Name);
|
|
|
continue;
|
|
|
}
|
|
|
|
|
@@ -160,11 +167,11 @@ namespace MediaBrowser.UI.Controller
|
|
|
}
|
|
|
catch (HttpException ex)
|
|
|
{
|
|
|
- Logger.LogException("Error downloading {0} configuration", ex, pluginInfo.Name);
|
|
|
+ _logger.ErrorException("Error downloading {0} configuration", ex, pluginInfo.Name);
|
|
|
}
|
|
|
catch (IOException ex)
|
|
|
{
|
|
|
- Logger.LogException("Error saving plugin configuration to {0}", ex, path);
|
|
|
+ _logger.ErrorException("Error saving plugin configuration to {0}", ex, path);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -179,7 +186,7 @@ namespace MediaBrowser.UI.Controller
|
|
|
/// <returns>Task.</returns>
|
|
|
private async Task DownloadPlugin(PluginInfo plugin)
|
|
|
{
|
|
|
- Logger.LogInfo("Downloading {0} Plugin", plugin.Name);
|
|
|
+ _logger.Info("Downloading {0} Plugin", plugin.Name);
|
|
|
|
|
|
var path = Path.Combine(UIKernel.Instance.ApplicationPaths.PluginsPath, plugin.AssemblyFileName);
|
|
|
|
|
@@ -207,7 +214,7 @@ namespace MediaBrowser.UI.Controller
|
|
|
/// <returns>Task.</returns>
|
|
|
private async Task DownloadPluginConfiguration(PluginInfo pluginInfo, string path)
|
|
|
{
|
|
|
- Logger.LogInfo("Downloading {0} Configuration", pluginInfo.Name);
|
|
|
+ _logger.Info("Downloading {0} Configuration", pluginInfo.Name);
|
|
|
|
|
|
// First download to a MemoryStream. This way if the download is cut off, we won't be left with a partial file
|
|
|
using (var stream = await UIKernel.Instance.ApiClient.GetPluginConfigurationFileAsync(pluginInfo.UniqueId).ConfigureAwait(false))
|
|
@@ -253,7 +260,7 @@ namespace MediaBrowser.UI.Controller
|
|
|
}
|
|
|
catch (IOException ex)
|
|
|
{
|
|
|
- Logger.LogException("Error deleting plugin assembly {0}", ex, plugin);
|
|
|
+ _logger.ErrorException("Error deleting plugin assembly {0}", ex, plugin);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -268,7 +275,7 @@ namespace MediaBrowser.UI.Controller
|
|
|
/// <param name="plugin">The plugin.</param>
|
|
|
private void DeletePlugin(string plugin)
|
|
|
{
|
|
|
- Logger.LogInfo("Deleting {0} Plugin", plugin);
|
|
|
+ _logger.Info("Deleting {0} Plugin", plugin);
|
|
|
|
|
|
if (File.Exists(plugin))
|
|
|
{
|