From e65621545505bd65a45c4fd617c6c6a50595b49d Mon Sep 17 00:00:00 2001 From: Romain Beauxis Date: Tue, 15 Jul 2014 15:08:30 -0500 Subject: [PATCH] Add option to only display suitable detectors when passing a URL. --- youtube_dl/__init__.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/youtube_dl/__init__.py b/youtube_dl/__init__.py index 5e16a5491..8da14f4c1 100644 --- a/youtube_dl/__init__.py +++ b/youtube_dl/__init__.py @@ -249,6 +249,9 @@ def parseOpts(overrideArguments=None): general.add_option('--list-extractors', action='store_true', dest='list_extractors', help='List all supported extractors and the URLs they would handle', default=False) + general.add_option('--only-suitable', + action='store_true', dest='only_suitable', + help='Only list suitable extractors', default=False) general.add_option('--extractor-descriptions', action='store_true', dest='list_extractor_descriptions', help='Output descriptions of all supported extractors', default=False) @@ -620,10 +623,13 @@ def _real_main(argv=None): if opts.list_extractors: for ie in sorted(extractors, key=lambda ie: ie.IE_NAME.lower()): - compat_print(ie.IE_NAME + (' (CURRENTLY BROKEN)' if not ie._WORKING else '')) matchedUrls = [url for url in all_urls if ie.suitable(url)] - for mu in matchedUrls: - compat_print(u' ' + mu) + if opts.only_suitable and not matchedUrls: + continue + compat_print(ie.IE_NAME + (' (CURRENTLY BROKEN)' if not ie._WORKING else '')) + if not opts.only_suitable: + for mu in matchedUrls: + compat_print(u' ' + mu) sys.exit(0) if opts.list_extractor_descriptions: for ie in sorted(extractors, key=lambda ie: ie.IE_NAME.lower()):