mirror of https://github.com/yt-dlp/yt-dlp
[extractor] Import `_ALL_CLASSES` lazily
This significantly speeds up `import yt_dlp` in the absence of `lazy_extractors`pull/4085/head
parent
99d10bf607
commit
560738f34d
@ -0,0 +1,23 @@
|
|||||||
|
import contextlib
|
||||||
|
import os
|
||||||
|
|
||||||
|
from ..utils import load_plugins
|
||||||
|
|
||||||
|
_LAZY_LOADER = False
|
||||||
|
if not os.environ.get('YTDLP_NO_LAZY_EXTRACTORS'):
|
||||||
|
with contextlib.suppress(ImportError):
|
||||||
|
from .lazy_extractors import * # noqa: F403
|
||||||
|
from .lazy_extractors import _ALL_CLASSES
|
||||||
|
_LAZY_LOADER = True
|
||||||
|
|
||||||
|
if not _LAZY_LOADER:
|
||||||
|
from ._extractors import * # noqa: F403
|
||||||
|
_ALL_CLASSES = [ # noqa: F811
|
||||||
|
klass
|
||||||
|
for name, klass in globals().items()
|
||||||
|
if name.endswith('IE') and name != 'GenericIE'
|
||||||
|
]
|
||||||
|
_ALL_CLASSES.append(GenericIE) # noqa: F405
|
||||||
|
|
||||||
|
_PLUGIN_CLASSES = load_plugins('extractor', 'IE', globals())
|
||||||
|
_ALL_CLASSES = list(_PLUGIN_CLASSES.values()) + _ALL_CLASSES
|
Loading…
Reference in New Issue