aboutsummaryrefslogtreecommitdiffstats
path: root/yardstick
diff options
context:
space:
mode:
authorRex Lee <limingjiang@huawei.com>2017-07-12 01:35:03 +0000
committerGerrit Code Review <gerrit@opnfv.org>2017-07-12 01:35:03 +0000
commit7949507437f8b1b1d9100bd13cf2d90bae60279d (patch)
treef6030e60eeeebeae7670f2022c06f13296c6bb2a /yardstick
parent7ee54db221fbb4173de011585a425f0750dd6ccf (diff)
parent0d18f9d3299480cb43e6b335180e5cbdb58505c3 (diff)
Merge "Yardstick API architecture improvement"
Diffstat (limited to 'yardstick')
-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)