]> jfr.im git - yt-dlp.git/blame - yt_dlp/extractor/extractors.py
Reject entire playlists faster with `--match-filter`
[yt-dlp.git] / yt_dlp / extractor / extractors.py
CommitLineData
560738f3 1import contextlib
2import os
3
4from ..utils import load_plugins
5
6_LAZY_LOADER = False
7if not os.environ.get('YTDLP_NO_LAZY_EXTRACTORS'):
8 with contextlib.suppress(ImportError):
9 from .lazy_extractors import * # noqa: F403
10 from .lazy_extractors import _ALL_CLASSES
11 _LAZY_LOADER = True
12
13if not _LAZY_LOADER:
14 from ._extractors import * # noqa: F403
15 _ALL_CLASSES = [ # noqa: F811
16 klass
17 for name, klass in globals().items()
18 if name.endswith('IE') and name != 'GenericIE'
19 ]
20 _ALL_CLASSES.append(GenericIE) # noqa: F405
21
22_PLUGIN_CLASSES = load_plugins('extractor', 'IE', globals())
23_ALL_CLASSES = list(_PLUGIN_CLASSES.values()) + _ALL_CLASSES