45 lines
1.3 KiB
Python
45 lines
1.3 KiB
Python
from nc_http.tools.fe_sucks import FESucks
|
|
from nc_http.tools.helpers.dict import camelize_dict
|
|
|
|
|
|
class FESucks(FESucks):
|
|
@classmethod
|
|
def set_placeholder(cls, data, key, placeholder_name_list, placeholder=None):
|
|
"""
|
|
:param data:
|
|
:param key:
|
|
:param placeholder_name_list:
|
|
:param placeholder:
|
|
:return:
|
|
[{'a': 1, 'b': 'name_1'}]
|
|
+
|
|
['name_1', 'name_2', 'name_3']
|
|
+
|
|
{'a': 0}
|
|
=
|
|
[{'a': 1, 'b': 'name_1'}, {'a': 0, 'b': 'name_2'}, {'a': 0, 'b': 'name_3'}]
|
|
"""
|
|
placeholder = placeholder or {}
|
|
miss_placeholder_name_list = set(placeholder_name_list) - set(item[key] for item in data)
|
|
for placeholder_name in miss_placeholder_name_list:
|
|
_placeholder = placeholder.copy()
|
|
_placeholder[key] = placeholder_name
|
|
data.append(_placeholder)
|
|
return data
|
|
|
|
@classmethod
|
|
def camelize(cls, result):
|
|
"""
|
|
:param result:
|
|
:return:
|
|
"""
|
|
if isinstance(result, dict):
|
|
return camelize_dict(result)
|
|
if isinstance(result, list):
|
|
_result = []
|
|
for item in result:
|
|
_result.append(camelize_dict(item))
|
|
return _result
|
|
|
|
return result
|