1
0
Fork 0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2025-03-09 12:50:23 -05:00

refactor: remove clear_plugins

This commit is contained in:
coletdjnz 2025-02-23 08:57:07 +13:00
parent 4a544353af
commit b4ba18f913
No known key found for this signature in database
GPG key ID: 91984263BB39894A
2 changed files with 0 additions and 39 deletions

View file

@ -17,7 +17,6 @@
load_plugins,
load_all_plugins,
register_plugin_spec,
clear_plugins,
)
from yt_dlp.globals import (
@ -30,8 +29,6 @@
plugin_specs,
)
from yt_dlp.utils import YoutubeDLError
EXTRACTOR_PLUGIN_SPEC = PluginSpec(
module_name='extractor',
@ -236,29 +233,6 @@ def test_append_plugin_dirs(self):
self.assertIn(f'{PACKAGE_NAME}.extractor.package', sys.modules.keys())
self.assertIn('PackagePluginIE', plugin_ies.value)
def test_clear_plugins(self):
clear_plugins()
ies = load_plugins(EXTRACTOR_PLUGIN_SPEC)
self.assertEqual(ies, {})
self.assertNotIn(f'{PACKAGE_NAME}.extractor.normal', sys.modules.keys())
self.assertNotIn('NormalPluginIE', plugin_ies.value)
pps = load_plugins(POSTPROCESSOR_PLUGIN_SPEC)
self.assertEqual(pps, {})
self.assertNotIn(f'{PACKAGE_NAME}.postprocessor.normal', sys.modules.keys())
self.assertNotIn('NormalPluginPP', plugin_pps.value)
def test_clear_plugins_already_loaded(self):
register_plugin_spec(EXTRACTOR_PLUGIN_SPEC)
register_plugin_spec(POSTPROCESSOR_PLUGIN_SPEC)
load_all_plugins()
with self.assertRaises(YoutubeDLError):
clear_plugins()
ies = load_plugins(EXTRACTOR_PLUGIN_SPEC)
self.assertIn('NormalPluginIE', ies)
def test_get_plugin_spec(self):
register_plugin_spec(EXTRACTOR_PLUGIN_SPEC)
register_plugin_spec(POSTPROCESSOR_PLUGIN_SPEC)

View file

@ -23,7 +23,6 @@
)
from .utils import (
YoutubeDLError,
get_executable_path,
get_system_config_dirs,
get_user_config_dirs,
@ -45,7 +44,6 @@
'COMPAT_PACKAGE_NAME',
'PACKAGE_NAME',
'PluginSpec',
'clear_plugins',
'directories',
'load_all_plugins',
'load_plugins',
@ -255,14 +253,3 @@ def register_plugin_spec(plugin_spec: PluginSpec):
if plugin_spec.module_name not in plugin_specs.value:
plugin_specs.value[plugin_spec.module_name] = plugin_spec
sys.meta_path.insert(0, PluginFinder(f'{PACKAGE_NAME}.{plugin_spec.module_name}'))
def clear_plugins():
if (
all_plugins_loaded.value
or any(plugin_spec.plugin_destination.value for plugin_spec in plugin_specs.value.values())
):
# note: we can't detect all cases when plugins are loaded (e.g. if spec isn't registered)
raise YoutubeDLError('Plugins have already been loaded. Cannot clear plugins after loading plugins.')
plugin_dirs.value = []