From fdcc434b3d6297a850698b505dc8ce3afa192a2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Sat, 14 Nov 2015 15:11:44 +0100 Subject: [PATCH] implement --list-modules cmd-line option --- gallery_dl/__init__.py | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/gallery_dl/__init__.py b/gallery_dl/__init__.py index acdad000..32ac2ad6 100644 --- a/gallery_dl/__init__.py +++ b/gallery_dl/__init__.py @@ -37,29 +37,39 @@ def parse_cmdline_options(): metavar="OPT", action="append", default=[], help="option value", ) + parser.add_argument( + "--list-modules", dest="list_modules", action="store_true", + help="print a list of available modules/supported sites", + ) parser.add_argument( "--list-keywords", dest="keywords", action="store_true", help="print a list of available keywords", ) parser.add_argument( "urls", - nargs="+", metavar="URL", + nargs="*", metavar="URL", help="url to download images from" ) return parser.parse_args() def main(): - config.load() - args = parse_cmdline_options() - for opt in args.option: - try: - key, value = opt.split("=", 1) - config.set(key.split("."), value) - except TypeError: - pass - jobtype = jobs.KeywordJob if args.keywords else jobs.DownloadJob try: - for url in args.urls: - jobtype(url).run() + config.load() + args = parse_cmdline_options() + + for opt in args.option: + try: + key, value = opt.split("=", 1) + config.set(key.split("."), value) + except TypeError: + pass + + if args.list_modules: + for module_name in extractor.modules: + print(module_name) + else: + jobtype = jobs.KeywordJob if args.keywords else jobs.DownloadJob + for url in args.urls: + jobtype(url).run() except KeyboardInterrupt: print("\nKeyboardInterrupt")