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