From eb74f5e29684812894cd26340ac3ec19f7a0a9e5 Mon Sep 17 00:00:00 2001 From: s3lph <1375407-s3lph@users.noreply.gitlab.com> Date: Mon, 25 Apr 2022 23:16:04 +0200 Subject: [PATCH] Error handling: One failing list processor should not affect processing of the other lists --- multischleuder/main.py | 5 ++++- multischleuder/test/test_reporting.py | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/multischleuder/main.py b/multischleuder/main.py index 344d631..3cc02e7 100644 --- a/multischleuder/main.py +++ b/multischleuder/main.py @@ -74,5 +74,8 @@ def main(): logging.debug('Verbose logging enabled') lists, smtp = parse_config(ns) for lst in lists: - lst.process(ns.dry_run) + try: + lst.process(ns.dry_run) + except BaseException: + logging.exception(f'An error occurred while processing {lst._target}') smtp.send_messages(Reporter.get_messages()) diff --git a/multischleuder/test/test_reporting.py b/multischleuder/test/test_reporting.py index b0994bc..9273073 100644 --- a/multischleuder/test/test_reporting.py +++ b/multischleuder/test/test_reporting.py @@ -3,7 +3,7 @@ import unittest from datetime import datetime -import pgpy.errors +import pgpy.errors # type: ignore from multischleuder.reporting import KeyConflictMessage, AdminReport, Reporter, UserConflictMessage from multischleuder.types import SchleuderKey, SchleuderList, SchleuderSubscriber