Fixed issue when json's responses contain null values
* refactored clean_none method in service/api.py Fixed bug: #1163311 Change-Id: I6d18c94c6a14121a7f84f10abcf0588af0595b61
This commit is contained in:
parent
a742f0e674
commit
fe40adb5a0
@ -135,23 +135,23 @@ def get_node_types(**args):
|
||||
## Utils and DB object to Resource converters
|
||||
|
||||
def _clean_nones(obj):
|
||||
d_type = type(obj)
|
||||
if d_type is not dict or d_type is not list:
|
||||
if not isinstance(obj, dict) and not isinstance(obj, list):
|
||||
return obj
|
||||
|
||||
if d_type is dict:
|
||||
if isinstance(obj, dict):
|
||||
remove = []
|
||||
for key in obj:
|
||||
value = _clean_nones(obj.get(key))
|
||||
if value is None or len(value) == 0:
|
||||
for key, value in obj.iteritems():
|
||||
if value is None:
|
||||
remove.append(key)
|
||||
for key in remove:
|
||||
obj.pop(key)
|
||||
elif d_type is list:
|
||||
for value in obj.values():
|
||||
_clean_nones(value)
|
||||
elif isinstance(obj, list):
|
||||
new_list = []
|
||||
for elem in obj:
|
||||
elem = _clean_nones(elem)
|
||||
if elem is not None and len(elem) == 0:
|
||||
if elem is not None:
|
||||
new_list.append(elem)
|
||||
return new_list
|
||||
|
||||
|
@ -295,10 +295,7 @@ def _get_templates_stub_data():
|
||||
{
|
||||
u'name': u'tt_dn.small',
|
||||
u'task_tracker': {
|
||||
u'heap_size': u'896',
|
||||
u'mapred.child.java.opts': None,
|
||||
u'mapred.tasktracker.map.tasks.maximum': None,
|
||||
u'mapred.tasktracker.reduce.tasks.maximum': None
|
||||
u'heap_size': u'896'
|
||||
},
|
||||
u'data_node': {
|
||||
u'heap_size': u'896'
|
||||
@ -315,9 +312,6 @@ def _get_templates_stub_data():
|
||||
u'name': u'tt_dn.medium',
|
||||
u'task_tracker': {
|
||||
u'heap_size': u'1792',
|
||||
u'mapred.child.java.opts': None,
|
||||
u'mapred.tasktracker.map.tasks.maximum': None,
|
||||
u'mapred.tasktracker.reduce.tasks.maximum': None
|
||||
},
|
||||
u'data_node': {
|
||||
u'heap_size': u'1792'
|
||||
|
Loading…
Reference in New Issue
Block a user