RenameXbmcOptions.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using MediaBrowser.Controller.Configuration;
  2. using System;
  3. namespace MediaBrowser.Server.Startup.Common.Migrations
  4. {
  5. public class RenameXbmcOptions : IVersionMigration
  6. {
  7. private readonly IServerConfigurationManager _config;
  8. public RenameXbmcOptions(IServerConfigurationManager config)
  9. {
  10. _config = config;
  11. }
  12. public void Run()
  13. {
  14. var changed = false;
  15. foreach (var option in _config.Configuration.MetadataOptions)
  16. {
  17. if (Migrate(option.DisabledMetadataSavers))
  18. {
  19. changed = true;
  20. }
  21. if (Migrate(option.LocalMetadataReaderOrder))
  22. {
  23. changed = true;
  24. }
  25. }
  26. if (changed)
  27. {
  28. _config.SaveConfiguration();
  29. }
  30. }
  31. private bool Migrate(string[] options)
  32. {
  33. var changed = false;
  34. if (options != null)
  35. {
  36. for (var i = 0; i < options.Length; i++)
  37. {
  38. if (string.Equals(options[i], "Xbmc Nfo", StringComparison.OrdinalIgnoreCase))
  39. {
  40. options[i] = "Nfo";
  41. changed = true;
  42. }
  43. }
  44. }
  45. return changed;
  46. }
  47. }
  48. }