From 23df17b97e61fec8e4df4506a45cb257dfd33b93 Mon Sep 17 00:00:00 2001 From: Cody Logan Date: Wed, 1 Nov 2023 09:52:03 -0700 Subject: Refactor download processing code and add some tests --- src/wikiget/wikiget.py | 33 ++------------------------------- 1 file changed, 2 insertions(+), 31 deletions(-) (limited to 'src/wikiget/wikiget.py') diff --git a/src/wikiget/wikiget.py b/src/wikiget/wikiget.py index f42da35..33f7b2c 100644 --- a/src/wikiget/wikiget.py +++ b/src/wikiget/wikiget.py @@ -17,14 +17,9 @@ import argparse import logging -import sys - -from mwclient import APIError, InvalidResponse, LoginError -from requests import ConnectionError, HTTPError import wikiget -from wikiget.dl import batch_download, download, prep_download -from wikiget.exceptions import ParseError +from wikiget.dl import process_download from wikiget.logging import configure_logging logger = logging.getLogger(__name__) @@ -134,28 +129,4 @@ def main() -> None: logger.info(f"Starting download session using wikiget {wikiget.__version__}") logger.debug(f"User agent: {wikiget.USER_AGENT}") - if args.batch: - # batch download mode - errors = batch_download(args) - if errors: - # return non-zero exit code if any problems were encountered, even if some - # downloads completed successfully - logger.warning( - f"{errors} problem{'s'[:errors^1]} encountered during batch processing" - ) - sys.exit(1) # completed with errors - else: - # single download mode - try: - file = prep_download(args.FILE, args) - except ParseError as e: - logger.error(e) - sys.exit(1) - except FileExistsError: - sys.exit(1) - except (ConnectionError, HTTPError, InvalidResponse, LoginError, APIError): - sys.exit(1) - - errors = download(file, args) - if errors: - sys.exit(1) # completed with errors + process_download(args) -- cgit v1.2.3