mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-09-05 21:37:10 -04:00
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>
|
/// <summary>
|
||||||
/// Changes the status of the other versions of the plugin to "Superceded".
|
/// Changes the status of the other versions of the plugin to "Superceded".
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -295,6 +321,9 @@ namespace Emby.Server.Implementations
|
|||||||
return;
|
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))
|
if (predecessor.Manifest.Status == PluginStatus.Active && !ChangePluginState(predecessor, PluginStatus.Superceded))
|
||||||
{
|
{
|
||||||
_logger.LogError("Unable to disable version {Version} of {Name}", predecessor.Version, predecessor.Name);
|
_logger.LogError("Unable to disable version {Version} of {Name}", predecessor.Version, predecessor.Name);
|
||||||
|
@ -166,14 +166,14 @@ namespace MediaBrowser.Common.Plugins
|
|||||||
assemblyPlugin.SetId(assemblyId);
|
assemblyPlugin.SetId(assemblyId);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO : Simplify this, once migration support is ceased.
|
// TODO : Remove this, once migration support is ceased.
|
||||||
if (inPluginFolder)
|
if (inPluginFolder)
|
||||||
{
|
{
|
||||||
var oldConfigFilePath = Path.Combine(ApplicationPaths.PluginConfigurationsPath, ConfigurationFileName);
|
var oldConfigFilePath = Path.Combine(ApplicationPaths.PluginConfigurationsPath, ConfigurationFileName);
|
||||||
|
|
||||||
if (!File.Exists(ConfigurationFilePath) && File.Exists(oldConfigFilePath))
|
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
|
try
|
||||||
{
|
{
|
||||||
File.Copy(oldConfigFilePath, ConfigurationFilePath);
|
File.Copy(oldConfigFilePath, ConfigurationFilePath);
|
||||||
|
Loading…
Reference in New Issue
Block a user