diff options
| author | Cody Logan <cody@lokken.dev> | 2023-10-13 12:24:13 -0700 |
|---|---|---|
| committer | Cody Logan <cody@lokken.dev> | 2023-10-13 12:24:13 -0700 |
| commit | 630541499a58f98c55d5cc372d21e745c106d250 (patch) | |
| tree | f8dc0fe50d0d4a329ce8e64f497b89d84a25f7a2 /src/wikiget/wikiget.py | |
| parent | 875748228e509e244c8f444114387f1a03cbb393 (diff) | |
| download | wikiget-630541499a58f98c55d5cc372d21e745c106d250.tar.gz wikiget-630541499a58f98c55d5cc372d21e745c106d250.zip | |
Refactor parsing logic and revise exception handling
Diffstat (limited to 'src/wikiget/wikiget.py')
| -rw-r--r-- | src/wikiget/wikiget.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/wikiget/wikiget.py b/src/wikiget/wikiget.py index fba9509..68e0233 100644 --- a/src/wikiget/wikiget.py +++ b/src/wikiget/wikiget.py @@ -22,6 +22,7 @@ from concurrent.futures import ThreadPoolExecutor import wikiget from wikiget.dl import download, prep_download +from wikiget.exceptions import ParseError def construct_parser(): @@ -173,7 +174,10 @@ def batch_download(args): for line_num, line in dl_list.items(): # keep track of batch file line numbers for debugging/logging purposes logging.info(f"Downloading '{line}' at line {line_num}") - file = prep_download(line, args) + try: + file = prep_download(line, args) + except ParseError as e: + logging.warning(f"{e} (line {line_num})") future = executor.submit(download, file, args) futures.append(future) # wait for downloads to finish @@ -197,5 +201,9 @@ def main(): batch_download(args) else: # single download mode - file = prep_download(args.FILE, args) + try: + file = prep_download(args.FILE, args) + except ParseError as e: + logging.error(e) + sys.exit(1) download(file, args) |
