lib: GeneralConfig fix missing keys logic

Change-Id: I814511fff6fbf7c94e30a052bff0712fad9805b5
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34306
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
This commit is contained in:
Alexander Zaft
2024-08-06 14:58:07 +02:00
committed by Markus Zolliker
parent a1dd8e2168
commit bd84a69537

View File

@ -109,7 +109,10 @@ class GeneralConfig:
for key in mandatory: for key in mandatory:
if (env := environ.get(f'FRAPPY_{key.upper()}')) is not None: if (env := environ.get(f'FRAPPY_{key.upper()}')) is not None:
cfg[key] = env cfg[key] = env
missing_keys = [key for key in mandatory if self[key] is None] missing_keys = [
key for key in mandatory
if cfg.get(key) is None and self.defaults.get(key) is None
]
if missing_keys: if missing_keys:
if configfile: if configfile:
raise KeyError(f"missing value for {' and '.join(missing_keys)} in {configfile}") raise KeyError(f"missing value for {' and '.join(missing_keys)} in {configfile}")