diff options
author | Aaron LI <aaronly.me@outlook.com> | 2016-11-17 15:50:18 +0800 |
---|---|---|
committer | Aaron LI <aaronly.me@outlook.com> | 2016-11-17 15:50:18 +0800 |
commit | 030125051f33127b542c85b35d9ce8dafa92aabe (patch) | |
tree | c8c62b3635ce9c51763d18a34783f40b83d02d19 /fg21sim | |
parent | 8afc6596fdc174e16703c576469d105d0487e57e (diff) | |
download | fg21sim-030125051f33127b542c85b35d9ce8dafa92aabe.tar.bz2 |
configs/checkers.py: Add checker "check_extragalactic_clusters()"
Diffstat (limited to 'fg21sim')
-rw-r--r-- | fg21sim/configs/checkers.py | 37 |
1 files changed, 28 insertions, 9 deletions
diff --git a/fg21sim/configs/checkers.py b/fg21sim/configs/checkers.py index 1ab2a85..7bbcdd7 100644 --- a/fg21sim/configs/checkers.py +++ b/fg21sim/configs/checkers.py @@ -151,6 +151,23 @@ def check_galactic_snr(configs): return results +def check_extragalactic_clusters(configs): + """ + Check the "[extragalactic][clusters]" section of the configurations. + """ + comp = "extragalactic/clusters" + comp_enabled = configs.getn("common/components") + results = {} + if comp in comp_enabled: + # Only validate the configs if this component is enabled + results.update( + _check_existence(configs, comp+"/catalog") + ) + if configs.getn(comp+"/save"): + results.update(_check_missing(configs, comp+"/output_dir")) + return results + + # Available checkers to validate the configurations _CHECKERS = [ check_common, @@ -159,11 +176,13 @@ _CHECKERS = [ check_galactic_synchrotron, check_galactic_freefree, check_galactic_snr, + check_extragalactic_clusters, ] def check_configs(configs, raise_exception=True, checkers=_CHECKERS): - """Check/validate the whole configurations through all the supplied + """ + Check/validate the whole configurations through all the supplied checker functions. These checker functions may check one config option against its context @@ -183,30 +202,30 @@ def check_configs(configs, raise_exception=True, checkers=_CHECKERS): Returns ------- - result : bool + validity : bool ``True`` if the configurations pass all checker functions. errors : dict An dictionary containing the details about the invalid config options, with the keys identifying the config options and values indicating the error message. - If above ``result=True``, then this is an empty dictionary ``{}``. + If above ``validity=True``, then this is an empty dictionary ``{}``. Raises ------ - ConfigError - If any config option failed to pass any of the checkers, a - ``ConfigError`` with details is raised. + ConfigError : + With ``raise_exception=True``, if any configuration option failed + to pass all checkers, the ``ConfigError`` with details is raised. """ errors = {} for checker in checkers: errors.update(checker(configs)) # if errors == {}: - result = True + validity = True else: - result = False + validity = False if raise_exception: msg = "\n".join(['Config "{key}": {val}'.format(key=key, val=val) for key, val in errors.items()]) raise ConfigError(msg) - return (result, errors) + return (validity, errors) |