def new_api_body(self, api_no, body_params): if len(api_no) != 32: return False, "Bad api_no" new_result = [] value_sql = "VALUES " for key, value in body_params.items(): if check_char_num_underline(key) is False: return False, "Bad body param %s" % key if "necessary" not in value or "desc" not in value or "type" not in value: return False, "Bad body param %s, need necessary type desc" % key if value["necessary"] != 0 and value["necessary"] != 1: return False, "Bad body param %s, necessary must be 0 or 1" % key if check_char(value["type"], 1, 20) is False: return False, "Bad body param %s, type must a-z" % key param_desc = check_sql_character(value["desc"])[:1000] add_time = datetime.now().strftime(TIME_FORMAT) value_sql += "('%s','%s',%s,'%s','%s','%s')" \ % (api_no, key, value["necessary"], value["type"], param_desc, add_time) necessary = True if value["necessary"] == 1 else False new_result.append({"api_no": api_no, "necessary": necessary, "param": key, "desc": param_desc, "type": value["type"], "add_time": add_time}) if len(value_sql) < 8: return True insert_sql = "INSERT INTO %s (api_no,param,necessary,type,param_desc,add_time) %s " \ "ON DUPLICATE KEY UPDATE necessary=VALUES(necessary),param_desc=VALUES(param_desc),type=VALUES(type)" \ % (self.api_body, value_sql) result = self.db.execute(insert_sql) self.set_api_update(api_no) return True, new_result