]>
jfr.im git - yt-dlp.git/blob - yt_dlp/extractor/__init__.py
1 from __future__
import unicode_literals
3 from ..utils
import load_plugins
6 from .lazy_extractors
import *
7 from .lazy_extractors
import _ALL_CLASSES
14 from .extractors
import *
17 for name
, klass
in globals().items()
18 if name
.endswith('IE') and name
!= 'GenericIE'
20 _ALL_CLASSES
.append(GenericIE
)
22 _PLUGIN_CLASSES
= load_plugins('extractor', 'IE', globals())
23 _ALL_CLASSES
= _PLUGIN_CLASSES
+ _ALL_CLASSES
26 def gen_extractor_classes():
27 """ Return a list of supported extractors.
28 The order does matter; the first extractor matched is the one handling the URL.
34 """ Return a list of an instance of every supported extractor.
35 The order does matter; the first extractor matched is the one handling the URL.
37 return [klass() for klass
in gen_extractor_classes()]
40 def list_extractors(age_limit
):
42 Return a list of extractors that are suitable for the given age,
43 sorted by extractor ID.
47 filter(lambda ie
: ie
.is_suitable(age_limit
), gen_extractors()),
48 key
=lambda ie
: ie
.IE_NAME
.lower())
51 def get_info_extractor(ie_name
):
52 """Returns the info extractor class with the given ie_name"""
53 return globals()[ie_name
+ 'IE']