MovieDbEpisodeProviderMigration.cs 1.6 KB

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