diff options
Diffstat (limited to 'dovetail/utils/dovetail_utils.py')
-rw-r--r-- | dovetail/utils/dovetail_utils.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/dovetail/utils/dovetail_utils.py b/dovetail/utils/dovetail_utils.py index dc7dbafb..4a3d8528 100644 --- a/dovetail/utils/dovetail_utils.py +++ b/dovetail/utils/dovetail_utils.py @@ -408,3 +408,20 @@ def read_plain_file(file_path, logger=None): logger.exception("Failed to read file {}, exception: {}" .format(file_path, e)) return None + + +def get_value_from_dict(key_path, input_dict): + """ + Returns the value of a key in input_dict + key_path must be given in string format with dots + Example: result.dir + """ + if not isinstance(key_path, str): + return None + for key in key_path.split("."): + if not isinstance(input_dict, dict): + return None + input_dict = input_dict.get(key) + if not input_dict: + return None + return input_dict |