summaryrefslogtreecommitdiffstats
path: root/dovetail/utils/dovetail_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'dovetail/utils/dovetail_utils.py')
-rw-r--r--dovetail/utils/dovetail_utils.py17
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