From 2e8061091a16e0af82c6a52e8611aa136aa11243 Mon Sep 17 00:00:00 2001 From: Ailothaen Date: Thu, 4 Mar 2021 21:37:26 +0100 Subject: [PATCH] Adding handling of several input files (#1353) * Adding handling of several input files * Fixed flake8 error due to bad indenting --- gallery_dl/__init__.py | 25 +++++++++++++------------ gallery_dl/option.py | 5 +++-- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/gallery_dl/__init__.py b/gallery_dl/__init__.py index 6c2c7138..c1f80b6e 100644 --- a/gallery_dl/__init__.py +++ b/gallery_dl/__init__.py @@ -196,7 +196,7 @@ def main(): cnt, "entry" if cnt == 1 else "entries", cache._path(), ) else: - if not args.urls and not args.inputfile: + if not args.urls and not args.inputfiles: parser.error( "The following arguments are required: URL\n" "Use 'gallery-dl --help' to get a list of all options.") @@ -208,18 +208,19 @@ def main(): jobtype = args.jobtype or job.DownloadJob urls = args.urls - if args.inputfile: - try: - if args.inputfile == "-": - if sys.stdin: - urls += parse_inputfile(sys.stdin, log) + if args.inputfiles: + for inputfile in args.inputfiles: + try: + if inputfile == "-": + if sys.stdin: + urls += parse_inputfile(sys.stdin, log) + else: + log.warning("input file: stdin is not readable") else: - log.warning("input file: stdin is not readable") - else: - with open(args.inputfile, encoding="utf-8") as file: - urls += parse_inputfile(file, log) - except OSError as exc: - log.warning("input file: %s", exc) + with open(inputfile, encoding="utf-8") as file: + urls += parse_inputfile(file, log) + except OSError as exc: + log.warning("input file: %s", exc) # unsupported file logging handler handler = output.setup_logging_handler( diff --git a/gallery_dl/option.py b/gallery_dl/option.py index 60d911b9..3e585fe0 100644 --- a/gallery_dl/option.py +++ b/gallery_dl/option.py @@ -98,8 +98,9 @@ def build_parser(): ) general.add_argument( "-i", "--input-file", - dest="inputfile", metavar="FILE", - help="Download URLs found in FILE ('-' for stdin)", + dest="inputfiles", metavar="FILE", action="append", + help=("Download URLs found in FILE ('-' for stdin). " + "More than one --input-file can be specified"), ) general.add_argument( "--cookies",