MovieDbEpisodeProviderMigration.cs 1.5 KB

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