aboutsummaryrefslogtreecommitdiff
path: root/src/wikiget/wikiget.py
diff options
context:
space:
mode:
authorCody Logan <cody@lokken.dev>2023-10-13 12:24:13 -0700
committerCody Logan <cody@lokken.dev>2023-10-13 12:24:13 -0700
commit630541499a58f98c55d5cc372d21e745c106d250 (patch)
treef8dc0fe50d0d4a329ce8e64f497b89d84a25f7a2 /src/wikiget/wikiget.py
parent875748228e509e244c8f444114387f1a03cbb393 (diff)
downloadwikiget-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.py12
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)