diff options
| author | Cody Logan <cody@lokken.dev> | 2023-11-01 12:27:19 -0700 |
|---|---|---|
| committer | Cody Logan <cody@lokken.dev> | 2023-11-01 12:27:19 -0700 |
| commit | 235b3e6a723e3e18962212c7d2c0f19619c2fa6f (patch) | |
| tree | d2a7be5662ad11f0a6bb6e2c71432f0eecfc6363 /src | |
| parent | 15ffefbd0ca80f240b5468b4ab5cea5e9800ad83 (diff) | |
| download | wikiget-235b3e6a723e3e18962212c7d2c0f19619c2fa6f.tar.gz wikiget-235b3e6a723e3e18962212c7d2c0f19619c2fa6f.zip | |
Make process_download return an exit code instead of exiting directly
Diffstat (limited to 'src')
| -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) |
