def add(): try: uid = int(request.headers['Uid']) data = request.json if data is None: return response_error(MESSAGE.INVALID_DATA, CODE.INVALID_DATA) response_json = [] for item in data: token = Token(symbol=item['symbol'], name=item['name'], decimal=int(item['decimal']), contract_address=item['contract_address'], created_user_id=uid) db.session.add(token) db.session.flush() task = Task(task_type=CONST.TASK_TYPE['ERC_20'], data=json.dumps(token.to_json()), action=CONST.TASK_ACTION['ADD_TOKEN'], status=-1, contract_address=g.ERC20_TOKEN_REGISTRY_SMART_CONTRACT, contract_json=g.ERC20_TOKEN_REGISTRY_JSON) db.session.add(task) db.session.flush() response_json.append(token.to_json()) db.session.commit() return response_ok(response_json) except Exception, ex: db.session.rollback() return response_error(ex.message)