add -i/--input-file option

pull/13/head
Mike Fährmann 8 years ago
parent 02b6f8b165
commit 07ffab04c3
No known key found for this signature in database
GPG Key ID: 5680CA389D365A88

@ -47,6 +47,11 @@ def build_cmdline_parser():
"-p", "--password",
metavar="PASS"
)
parser.add_argument(
"-i", "--input-file",
metavar="FILE", dest="inputfile",
help="download URLs found in local FILE",
)
parser.add_argument(
"-c", "--config",
metavar="CFG", dest="cfgfiles", action="append",
@ -92,6 +97,12 @@ def parse_option(opt):
except ValueError:
print("Invalid 'key=value' pair:", opt, file=sys.stderr)
def sanatize_input(file):
for line in file:
line = line.strip()
if line:
yield line
def main():
try:
config.load()
@ -123,7 +134,7 @@ def main():
print("Example:", extr.test[0][0])
print()
else:
if not args.urls:
if not args.urls and not args.inputfile:
parser.error("the following arguments are required: URL")
if args.list_urls:
@ -133,7 +144,19 @@ def main():
else:
jobtype = job.DownloadJob
for url in args.urls:
urls = args.urls
if args.inputfile:
try:
if args.inputfile == "-":
file = sys.stdin
else:
file = open(args.inputfile)
import itertools
urls = itertools.chain(urls, sanatize_input(file))
except OSError as e:
print(e)
for url in urls:
try:
jobtype(url).run()
except exception.NoExtractorError:

Loading…
Cancel
Save