aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Brooks <IDisposable@gmail.com>2023-03-30 07:41:27 -0500
committerGitHub <noreply@github.com>2023-03-30 06:41:27 -0600
commitd45cabfa74263b4f11945fc88daeffa75ed77570 (patch)
tree2ebe6cae18c49369f5584a543d601ee134b1d246
parent726bc347aa022ed09747690009c04a014046edf3 (diff)
Fix migration for MusicBrainz (#9559)
-rw-r--r--Jellyfin.Server/Migrations/PreStartupRoutines/MigrateMusicBrainzTimeout.cs25
1 files changed, 19 insertions, 6 deletions
diff --git a/Jellyfin.Server/Migrations/PreStartupRoutines/MigrateMusicBrainzTimeout.cs b/Jellyfin.Server/Migrations/PreStartupRoutines/MigrateMusicBrainzTimeout.cs
index 14b51bd4c..bee135efd 100644
--- a/Jellyfin.Server/Migrations/PreStartupRoutines/MigrateMusicBrainzTimeout.cs
+++ b/Jellyfin.Server/Migrations/PreStartupRoutines/MigrateMusicBrainzTimeout.cs
@@ -44,9 +44,7 @@ public class MigrateMusicBrainzTimeout : IMigrationRoutine
return;
}
- var serverConfigSerializer = new XmlSerializer(typeof(OldMusicBrainzConfiguration), new XmlRootAttribute("PluginConfiguration"));
- using var xmlReader = XmlReader.Create(path);
- var oldPluginConfiguration = serverConfigSerializer.Deserialize(xmlReader) as OldMusicBrainzConfiguration;
+ var oldPluginConfiguration = ReadOld(path);
if (oldPluginConfiguration is not null)
{
@@ -55,10 +53,25 @@ public class MigrateMusicBrainzTimeout : IMigrationRoutine
newPluginConfiguration.ReplaceArtistName = oldPluginConfiguration.ReplaceArtistName;
var newRateLimit = oldPluginConfiguration.RateLimit / 1000.0;
newPluginConfiguration.RateLimit = newRateLimit < 1.0 ? 1.0 : newRateLimit;
+ WriteNew(path, newPluginConfiguration);
+ }
+ }
- var pluginConfigurationSerializer = new XmlSerializer(typeof(PluginConfiguration), new XmlRootAttribute("PluginConfiguration"));
- var xmlWriterSettings = new XmlWriterSettings { Indent = true };
- using var xmlWriter = XmlWriter.Create(path, xmlWriterSettings);
+ private OldMusicBrainzConfiguration? ReadOld(string path)
+ {
+ using (var xmlReader = XmlReader.Create(path))
+ {
+ var serverConfigSerializer = new XmlSerializer(typeof(OldMusicBrainzConfiguration), new XmlRootAttribute("PluginConfiguration"));
+ return serverConfigSerializer.Deserialize(xmlReader) as OldMusicBrainzConfiguration;
+ }
+ }
+
+ private void WriteNew(string path, PluginConfiguration newPluginConfiguration)
+ {
+ var pluginConfigurationSerializer = new XmlSerializer(typeof(PluginConfiguration), new XmlRootAttribute("PluginConfiguration"));
+ var xmlWriterSettings = new XmlWriterSettings { Indent = true };
+ using (var xmlWriter = XmlWriter.Create(path, xmlWriterSettings))
+ {
pluginConfigurationSerializer.Serialize(xmlWriter, newPluginConfiguration);
}
}