Respect age_limit when listing extractors (Fixes #4653)

This commit is contained in:
Philipp Hagemeister 2015-01-07 07:20:20 +01:00
parent 76b3c61012
commit 0590062925
8 changed files with 71 additions and 24 deletions

View file

@ -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']