aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl/extractor/__init__.py
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2015-01-07 07:20:20 +0100
committerPhilipp Hagemeister <phihag@phihag.de>2015-01-07 07:20:20 +0100
commit059006292523264f4e7c7e03df3729612af8099c (patch)
tree8d1e12c32a966aeb373dd972838febe1d591061d /youtube_dl/extractor/__init__.py
parent76b3c61012b5cd5a539e2a1a121d11427e6c4c6d (diff)
Respect age_limit when listing extractors (Fixes #4653)
Diffstat (limited to 'youtube_dl/extractor/__init__.py')
-rw-r--r--youtube_dl/extractor/__init__.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py
index b523e9644..0145e350d 100644
--- a/youtube_dl/extractor/__init__.py
+++ b/youtube_dl/extractor/__init__.py
@@ -560,6 +560,8 @@ from .zingmp3 import (
ZingMp3AlbumIE,
)
+from ..utils import age_restricted
+
_ALL_CLASSES = [
klass
for name, klass in globals().items()
@@ -575,6 +577,17 @@ def gen_extractors():
return [klass() for klass in _ALL_CLASSES]
+def list_extractors(age_limit):
+ """
+ Return a list of extractors that are suitable for the given age,
+ sorted by extractor ID.
+ """
+
+ return sorted(
+ filter(lambda ie: ie.is_suitable(age_limit), gen_extractors()),
+ key=lambda ie: ie.IE_NAME.lower())
+
+
def get_info_extractor(ie_name):
"""Returns the info extractor class with the given ie_name"""
return globals()[ie_name + 'IE']