diff options
author | John Estabrook <jestabro@vyos.io> | 2020-07-01 18:39:41 -0500 |
---|---|---|
committer | John Estabrook <jestabro@vyos.io> | 2020-07-01 20:45:37 -0500 |
commit | 3395cefd5af205ab45b2db9269bbb4daa10ba7df (patch) | |
tree | 37a4532baab48825de3e192fb39a90ab9ff6eba7 /python/vyos/util.py | |
parent | b482e1d28b5f41e9eba46636471908ba2bc8d5df (diff) | |
download | vyos-1x-3395cefd5af205ab45b2db9269bbb4daa10ba7df.tar.gz vyos-1x-3395cefd5af205ab45b2db9269bbb4daa10ba7df.zip |
config_dict: T2668: move keyword arg get_first_key into get_sub_dict
Diffstat (limited to 'python/vyos/util.py')
-rw-r--r-- | python/vyos/util.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/python/vyos/util.py b/python/vyos/util.py index 9b6b26a3b..924df6b3a 100644 --- a/python/vyos/util.py +++ b/python/vyos/util.py @@ -376,7 +376,7 @@ def _get_sub_dict(d, lpath): return {} return _get_sub_dict(c[k], lpath) -def get_sub_dict(source, lpath): +def get_sub_dict(source, lpath, get_first_key=False): """ Returns the sub-dict of a nested dict, defined by path of keys. Args: @@ -393,7 +393,16 @@ def get_sub_dict(source, lpath): raise TypeError("path must be of type list") if not lpath: return source - return _get_sub_dict(source, lpath) + + ret = _get_sub_dict(source, lpath) + + if get_first_key and lpath and ret: + tmp = next(iter(ret.values())) + if not isinstance(tmp, dict): + raise TypeError("Data under node is not of type dict") + ret = tmp + + return ret def process_running(pid_file): """ Checks if a process with PID in pid_file is running """ |