diff options
Diffstat (limited to 'MediaBrowser.Server.Startup.Common/Migrations/RenameXbmcOptions.cs')
| -rw-r--r-- | MediaBrowser.Server.Startup.Common/Migrations/RenameXbmcOptions.cs | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/MediaBrowser.Server.Startup.Common/Migrations/RenameXbmcOptions.cs b/MediaBrowser.Server.Startup.Common/Migrations/RenameXbmcOptions.cs new file mode 100644 index 000000000..efc34c1d8 --- /dev/null +++ b/MediaBrowser.Server.Startup.Common/Migrations/RenameXbmcOptions.cs @@ -0,0 +1,56 @@ +using MediaBrowser.Controller.Configuration; +using System; + +namespace MediaBrowser.Server.Startup.Common.Migrations +{ + public class RenameXbmcOptions + { + private readonly IServerConfigurationManager _config; + + public RenameXbmcOptions(IServerConfigurationManager config) + { + _config = config; + } + + public void Run() + { + var changed = false; + + foreach (var option in _config.Configuration.MetadataOptions) + { + if (Migrate(option.DisabledMetadataSavers)) + { + changed = true; + } + if (Migrate(option.LocalMetadataReaderOrder)) + { + changed = true; + } + } + + if (changed) + { + _config.SaveConfiguration(); + } + } + + private bool Migrate(string[] options) + { + var changed = false; + + if (options != null) + { + for (var i = 0; i < options.Length; i++) + { + if (string.Equals(options[i], "Xbmc Nfo", StringComparison.OrdinalIgnoreCase)) + { + options[i] = "Nfo"; + changed = true; + } + } + } + + return changed; + } + } +} |
