diff options
Diffstat (limited to 'src/wikiget')
| -rw-r--r-- | src/wikiget/dl.py | 14 | ||||
| -rw-r--r-- | src/wikiget/wikiget.py | 4 |
2 files changed, 11 insertions, 7 deletions
diff --git a/src/wikiget/dl.py b/src/wikiget/dl.py index 20d8a07..f39c355 100644 --- a/src/wikiget/dl.py +++ b/src/wikiget/dl.py @@ -49,7 +49,7 @@ def prep_download(dl: str, args: Namespace) -> File: return file -def process_download(args: Namespace) -> None: +def process_download(args: Namespace) -> int: if args.batch: # batch download mode errors = batch_download(args) @@ -59,23 +59,25 @@ def process_download(args: Namespace) -> None: logger.warning( f"{errors} problem{'s'[:errors^1]} encountered during batch processing" ) - sys.exit(1) # completed with errors + return 1 # completed with errors + return 0 else: # single download mode try: file = prep_download(args.FILE, args) except ParseError as e: logger.error(e) - sys.exit(1) + return 1 except FileExistsError as e: logger.warning(e) - sys.exit(1) + return 1 except (ConnectionError, HTTPError, InvalidResponse, LoginError, APIError): - sys.exit(1) + return 1 errors = download(file, args) if errors: - sys.exit(1) # completed with errors + return 1 # completed with errors + return 0 def batch_download(args: Namespace) -> int: diff --git a/src/wikiget/wikiget.py b/src/wikiget/wikiget.py index 33f7b2c..6b54886 100644 --- a/src/wikiget/wikiget.py +++ b/src/wikiget/wikiget.py @@ -17,6 +17,7 @@ import argparse import logging +import sys import wikiget from wikiget.dl import process_download @@ -129,4 +130,5 @@ def main() -> None: logger.info(f"Starting download session using wikiget {wikiget.__version__}") logger.debug(f"User agent: {wikiget.USER_AGENT}") - process_download(args) + exit_code = process_download(args) + sys.exit(exit_code) |
