From 059006292523264f4e7c7e03df3729612af8099c Mon Sep 17 00:00:00 2001 From: Philipp Hagemeister Date: Wed, 7 Jan 2015 07:20:20 +0100 Subject: Respect age_limit when listing extractors (Fixes #4653) --- youtube_dl/extractor/__init__.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'youtube_dl/extractor/__init__.py') 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'] -- cgit v1.2.3