From 776796c19415f783fd19e9de1e2b3053a20df4df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20G=C3=B3mez?= Date: Tue, 26 Jul 2022 17:08:58 +0200 Subject: [PATCH] - Disabled dynamic cfg value creation for safety --- nidn/utils/load_default_cfg.py | 3 ++- nidn/utils/validate_config.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/nidn/utils/load_default_cfg.py b/nidn/utils/load_default_cfg.py index cfed381..86dfe10 100644 --- a/nidn/utils/load_default_cfg.py +++ b/nidn/utils/load_default_cfg.py @@ -9,4 +9,5 @@ def load_default_cfg(): os.path.dirname(__file__) + "/resources/", "default_config.toml" ) with open(path) as cfg: - return DotMap(toml.load(cfg)) + # dynamic=False inhibits automatic generation of non-existing keys + return DotMap(toml.load(cfg), _dynamic=False) diff --git a/nidn/utils/validate_config.py b/nidn/utils/validate_config.py index c522791..7b2225c 100644 --- a/nidn/utils/validate_config.py +++ b/nidn/utils/validate_config.py @@ -164,7 +164,7 @@ def _check_value_ranges(cfg: DotMap): ] for key in all_positive_list_keys: - if not (all(cfg[key]) > 0.0): + if key in cfg.keys() and not (all(cfg[key]) > 0.0): raise RuntimeError(f"All elements in {key} must be a positive integer") for key in all_positive_or_zero_list_keys: if not (all(cfg[key]) >= 0.0):