RenameXmlOptions.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using MediaBrowser.Controller.Configuration;
  2. using System;
  3. namespace MediaBrowser.Server.Startup.Common.Migrations
  4. {
  5. public class RenameXmlOptions : IVersionMigration
  6. {
  7. private readonly IServerConfigurationManager _config;
  8. public RenameXmlOptions(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], "Media Browser Legacy Xml", StringComparison.OrdinalIgnoreCase))
  39. {
  40. options[i] = "Emby Xml";
  41. changed = true;
  42. }
  43. else if (string.Equals(options[i], "Media Browser Xml", StringComparison.OrdinalIgnoreCase))
  44. {
  45. options[i] = "Emby Xml";
  46. changed = true;
  47. }
  48. }
  49. }
  50. return changed;
  51. }
  52. }
  53. }