Files
material-api/web/utils/fe_sucks.py

45 lines
1.3 KiB
Python
Raw Normal View History

2024-05-29 10:21:31 +08:00
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