Copy previous plugin settings if they don't exist.
This commit is contained in:
parent
1ed25ebd9a
commit
d9aaba36ec
|
@ -274,6 +274,32 @@ namespace Emby.Server.Implementations
|
|||
}
|
||||
}
|
||||
|
||||
private void CopyFiles(string source, string destination, bool overwrite, string searchPattern)
|
||||
{
|
||||
FileInfo[] files;
|
||||
try
|
||||
{
|
||||
files = new DirectoryInfo(source).GetFiles(searchPattern);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogDebug(ex, "Error retrieving file list.");
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (FileInfo file in files)
|
||||
{
|
||||
try
|
||||
{
|
||||
file.CopyTo(Path.Combine(destination, file.Name), overwrite);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogDebug(ex, "Error copying file {Name}", file.Name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Changes the status of the other versions of the plugin to "Superceded".
|
||||
/// </summary>
|
||||
|
@ -295,6 +321,9 @@ namespace Emby.Server.Implementations
|
|||
return;
|
||||
}
|
||||
|
||||
// migrate settings across from the last active version if they don't exist.
|
||||
CopyFiles(predecessor.Path, plugin.Path, false, "*.xml");
|
||||
|
||||
if (predecessor.Manifest.Status == PluginStatus.Active && !ChangePluginState(predecessor, PluginStatus.Superceded))
|
||||
{
|
||||
_logger.LogError("Unable to disable version {Version} of {Name}", predecessor.Version, predecessor.Name);
|
||||
|
|
|
@ -166,14 +166,14 @@ namespace MediaBrowser.Common.Plugins
|
|||
assemblyPlugin.SetId(assemblyId);
|
||||
}
|
||||
|
||||
// TODO : Simplify this, once migration support is ceased.
|
||||
// TODO : Remove this, once migration support is ceased.
|
||||
if (inPluginFolder)
|
||||
{
|
||||
var oldConfigFilePath = Path.Combine(ApplicationPaths.PluginConfigurationsPath, ConfigurationFileName);
|
||||
|
||||
if (!File.Exists(ConfigurationFilePath) && File.Exists(oldConfigFilePath))
|
||||
{
|
||||
// Migrate settings, as different plugin versions may have different settings.
|
||||
// Migrate pre 10.7 settings, as different plugin versions may have different settings.
|
||||
try
|
||||
{
|
||||
File.Copy(oldConfigFilePath, ConfigurationFilePath);
|
||||
|
|
Loading…
Reference in New Issue
Block a user