OmdbEpisodeProviderMigration.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using MediaBrowser.Controller.Configuration;
  2. using System.Linq;
  3. namespace MediaBrowser.Server.Startup.Common.Migrations
  4. {
  5. class OmdbEpisodeProviderMigration : IVersionMigration
  6. {
  7. private readonly IServerConfigurationManager _config;
  8. private const string _providerName = "The Open Movie Database";
  9. public OmdbEpisodeProviderMigration(IServerConfigurationManager config)
  10. {
  11. _config = config;
  12. }
  13. public void Run()
  14. {
  15. var migrationKey = this.GetType().FullName;
  16. var migrationKeyList = _config.Configuration.Migrations.ToList();
  17. if (!migrationKeyList.Contains(migrationKey))
  18. {
  19. foreach (var metaDataOption in _config.Configuration.MetadataOptions)
  20. {
  21. if (metaDataOption.ItemType == "Episode")
  22. {
  23. var disabledFetchers = metaDataOption.DisabledMetadataFetchers.ToList();
  24. if (!disabledFetchers.Contains(_providerName))
  25. {
  26. disabledFetchers.Add(_providerName);
  27. metaDataOption.DisabledMetadataFetchers = disabledFetchers.ToArray();
  28. }
  29. }
  30. }
  31. migrationKeyList.Add(migrationKey);
  32. _config.Configuration.Migrations = migrationKeyList.ToArray();
  33. _config.SaveConfiguration();
  34. }
  35. }
  36. }
  37. }