From bdceede4f242517bab8c970dacabc355d9cf3812 Mon Sep 17 00:00:00 2001 From: Maks Snegov Date: Tue, 22 Oct 2019 12:15:31 +0300 Subject: [PATCH] Rework fetching URLs from the file --- nevernote.py | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/nevernote.py b/nevernote.py index b4e0b64..2fd8cf6 100755 --- a/nevernote.py +++ b/nevernote.py @@ -161,18 +161,29 @@ def process_url(url): def main(): parser = argparse.ArgumentParser( - description='Nevernote - download pages locally.') - parser.add_argument('urls', metavar='URL', type=str, nargs='+', + prog="nevernote.py", + description="Nevernote - tool for downloading pages locally." + ) + parser.add_argument("-i", "--infile", + help="File with URLs to download") + parser.add_argument('urls', metavar='URL', type=str, nargs='*', help='URL of page to download') args = parser.parse_args() + # Process URLs from the file + if args.infile: + try: + fd = open(args.infile, 'r') + except OSError as err: + print(err) + return 1 + for url in fd.readlines(): + process_url(url.strip()) + fd.close() + + # Process URLs from CLI for arg in args.urls: - if os.path.isfile(arg): - print('Found file %s' % arg) - for url in (line.strip() for line in open(arg)): - process_url(url) - else: - process_url(arg) + process_url(arg) class UrlDuplicateError(Exception):