diff options
| author | Marc Brooks <IDisposable@gmail.com> | 2023-03-30 07:41:27 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-30 06:41:27 -0600 |
| commit | d45cabfa74263b4f11945fc88daeffa75ed77570 (patch) | |
| tree | 2ebe6cae18c49369f5584a543d601ee134b1d246 | |
| parent | 726bc347aa022ed09747690009c04a014046edf3 (diff) | |
Fix migration for MusicBrainz (#9559)
| -rw-r--r-- | Jellyfin.Server/Migrations/PreStartupRoutines/MigrateMusicBrainzTimeout.cs | 25 |
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); } } |
