From 6722a0de5cac7c983debbadd4c10f030b1825a04 Mon Sep 17 00:00:00 2001 From: Yax <1949284+kianby@users.noreply.github.com> Date: Sun, 13 Nov 2022 13:09:36 +0100 Subject: [PATCH] Improve config check --- run.py | 5 ++++- stacosys/conf/config.py | 11 +++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/run.py b/run.py index 632883d..0f7c1a3 100644 --- a/run.py +++ b/run.py @@ -41,7 +41,10 @@ def stacosys_server(config_pathname): # load config conf = Config.load(config_pathname) - conf.check() + is_config_ok, erreur_config = conf.check() + if not is_config_ok: + logger.error(f"Configuration incorrecte '{erreur_config}'") + sys.exit(1) logger.info(conf) # check database file exists (prevents from creating a fresh db) diff --git a/stacosys/conf/config.py b/stacosys/conf/config.py index 8399e2e..5315036 100644 --- a/stacosys/conf/config.py +++ b/stacosys/conf/config.py @@ -71,12 +71,19 @@ class Config: def get_bool(self, key: ConfigParameter): value = self.get(key) - assert value in ("yes", "true", "no", "false") + assert value in ( + "yes", + "true", + "no", + "false", + ), f"Parameètre booléen incorrect {key.value}" return value in ("yes", "true") def check(self): for key in ConfigParameter: - assert self.get(key), f"Paramètre introuvable : {key.value}" + if not self.get(key): + return (False, key.value) + return (True, None) def __repr__(self): d = dict()