aboutsummaryrefslogtreecommitdiffstats
path: root/yardstick/common/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'yardstick/common/utils.py')
-rw-r--r--yardstick/common/utils.py24
1 files changed, 22 insertions, 2 deletions
diff --git a/yardstick/common/utils.py b/yardstick/common/utils.py
index 7633777ae..1faba4d9e 100644
--- a/yardstick/common/utils.py
+++ b/yardstick/common/utils.py
@@ -24,10 +24,11 @@ import os
import subprocess
import sys
import collections
-import six
from functools import reduce
import yaml
+import six
+from flask import jsonify
from six.moves import configparser
from oslo_utils import importutils
from oslo_serialization import jsonutils
@@ -197,7 +198,8 @@ def flatten_dict_key(data):
next_data = {}
# use list, because iterable is too generic
- if not any(isinstance(v, (collections.Mapping, list)) for v in data.values()):
+ if not any(isinstance(v, (collections.Mapping, list))
+ for v in data.values()):
return data
for k, v in six.iteritems(data):
@@ -212,3 +214,21 @@ def flatten_dict_key(data):
next_data[k] = v
return flatten_dict_key(next_data)
+
+
+def translate_to_str(obj):
+ if isinstance(obj, collections.Mapping):
+ return {str(k): translate_to_str(v) for k, v in obj.items()}
+ elif isinstance(obj, list):
+ return [translate_to_str(ele) for ele in obj]
+ elif isinstance(obj, six.text_type):
+ return str(obj)
+ return obj
+
+
+def result_handler(status, data):
+ result = {
+ 'status': status,
+ 'result': data
+ }
+ return jsonify(result)