diff options
author | chenjiankun <chenjiankun1@huawei.com> | 2017-07-07 03:13:36 +0000 |
---|---|---|
committer | chenjiankun <chenjiankun1@huawei.com> | 2017-07-11 09:47:30 +0000 |
commit | 0d18f9d3299480cb43e6b335180e5cbdb58505c3 (patch) | |
tree | a35aa6373a88eddb3d13f4fdb7cd3db9bad1a4ee /yardstick/common/utils.py | |
parent | 41136dafb30d0c410e92f9f7a7c19eae60f224e2 (diff) |
Yardstick API architecture improvement
JIRA: YARDSTICK-710
Since we have the plan to upload api v2 and gui.
We need to add put and delete method.
So the architecture need to be improved.
Change-Id: Ie20a79c26ef6c581897ce4e63980fa2895b162d2
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
Diffstat (limited to 'yardstick/common/utils.py')
-rw-r--r-- | yardstick/common/utils.py | 24 |
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) |