From 356a4c8bfbaeb9c5a720f57940098f0832ddb737 Mon Sep 17 00:00:00 2001 From: Cody Logan Date: Tue, 7 Nov 2023 12:31:55 -0800 Subject: Simplify return logic of process_download --- src/wikiget/dl.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'src/wikiget') diff --git a/src/wikiget/dl.py b/src/wikiget/dl.py index a29e049..898e6ab 100644 --- a/src/wikiget/dl.py +++ b/src/wikiget/dl.py @@ -50,6 +50,8 @@ def prep_download(dl: str, args: Namespace) -> File: def process_download(args: Namespace) -> int: + exit_code = 0 + if args.batch: # batch download mode errors = batch_download(args) @@ -59,25 +61,24 @@ def process_download(args: Namespace) -> int: logger.warning( f"{errors} problem{'s'[:errors^1]} encountered during batch processing" ) - return 1 # completed with errors - return 0 + exit_code = 1 # completed with errors else: # single download mode try: file = prep_download(args.FILE, args) except ParseError as e: logger.error(e) - return 1 + exit_code = 1 except FileExistsError as e: logger.warning(e) - return 1 + exit_code = 1 except (ConnectionError, HTTPError, InvalidResponse, LoginError, APIError): - return 1 - - errors = download(file, args) - if errors: - return 1 # completed with errors - return 0 + exit_code = 1 + else: + errors = download(file, args) + if errors: + exit_code = 1 # completed with errors + return exit_code def batch_download(args: Namespace) -> int: -- cgit v1.2.3