def get(self,application_id = ''): """ :param application_id: application表的id :return: application表查询的所有数据的list或者某id数据 """ if application_id == '': respon_json = application.db_get_application_list() else: respon_json = application.db_get_application_id(application_id) respon_json = json.dumps(respon_json) self.write(respon_json)
def put(self, translation_id=None): # if translation_id is None: raise HTTPError(405) param = self.request.body.decode('utf-8') prarm = json.loads(param) character_data = prarm['character'] application_id = prarm['application'] language_data = prarm['language'] respon_json = [] character_id = character_data['id'] cha_flag = character.db_get_character_id(character_id) if cha_flag: name = character_data['name'] description = character_data['description'] response = character.db_update_character(character_id, name, description) response = tool.language2dict(response) respon_json.append(response) else: raise HTTPError(400, reason="FoundDataError", log_message="character not found data") print(respon_json) put_data = application.db_get_application_id(application_id) if not put_data: raise HTTPError(400, reason="FoundDataError", log_message="application not found data") print(put_data) response_dict = [] for i in language_data: language_id = i['id'] cha_translation = i['cha_translation'] if application_id == 0: application_id = None put_data = translation.db_get_id_translation( language_id, application_id, character_id) if put_data: response = translation.db_update_translation( language_id, application_id, character_id, cha_translation) response = tool.translation2dict(response) response_dict.append(response) else: raise HTTPError(400, reason="FoundDataError", log_message="translation not found data") respon_json.append(response_dict) respon_json = json.dumps(respon_json) self.write(respon_json)
def delete(self, application_id = None): """ 删除数据 :param application_id:删除表中该id数据 :return: 删除成功或者错误 """ if application_id is None: raise HTTPError(405) delete_flag = application.db_get_application_id(application_id) if delete_flag: delete_data = application.db_delete_application(application_id) respon_json = json.dumps(delete_flag) self.write(respon_json) else: raise HTTPError(400, reason="FoundDataError", log_message="not found data")
def put(self,application_id = None): """ 更新数据 :param application_id: :return: """ if application_id is None: raise HTTPError(405) param = self.request.body.decode('utf-8') prarm = json.loads(param) if 'name' in prarm.keys(): # 判断键是否正确 put_data = application.db_get_application_id(application_id) if put_data: name = prarm['name'] description = prarm['description'] response = application.db_update_application(application_id,name,description) response = tool.language2dict(response) respon_json = json.dumps(response) self.write(respon_json) # 需要修改 else: raise HTTPError(400, reason="FoundDataError", log_message="not found data") else: raise HTTPError(400, reason="KeyError", log_message="key not exist")
def get(self, *args, **kwargs): respon_json = [] page_size = self.get_argument('limit', 10) page = self.get_argument('page', 1) app = self.get_argument('app', 'all') if app == 'all': app_id = 0 query, count = translation.db_get_translation_group( page_size, page, app_id) for i in query: character_id = i[0] application_id = i[1] language_list = translation.db_get_translation_cha_id_app_id( character_id, application_id) character_msg = character.db_get_character_id(character_id) application_msg = application.db_get_application_id( application_id) json_transform = tool.newPutGet(language_list, character_msg, application_msg) respon_json.append(json_transform) data_count = count current_number = page page_count = math.ceil(count / int(page_size)) respon_json = tool.pageResponse(data_count, int(current_number), page_count, int(page_size), respon_json) respon_json = json.dumps(respon_json) elif app == 'public': app_id = None query, count = translation.db_get_translation_group( page_size, page, app_id) for i in query: character_id = i[0] application_id = i[1] language_list = translation.db_get_translation_cha_id_app_id( character_id, application_id) character_msg = character.db_get_character_id(character_id) application_msg = application.db_get_application_id( application_id) json_transform = tool.newPutGet(language_list, character_msg, application_msg) respon_json.append(json_transform) data_count = count current_number = page page_count = math.ceil(count / int(page_size)) respon_json = tool.pageResponse(data_count, int(current_number), page_count, int(page_size), respon_json) respon_json = json.dumps(respon_json) else: app_id = application.db_get_id_application(app)['id'] query, count = translation.db_get_translation_group( page_size, page, app_id) for i in query: character_id = i[0] application_id = i[1] language_list = translation.db_get_translation_cha_id_app_id( character_id, application_id) character_msg = character.db_get_character_id(character_id) application_msg = application.db_get_application_id( application_id) json_transform = tool.newPutGet(language_list, character_msg, application_msg) respon_json.append(json_transform) data_count = count current_number = page page_count = math.ceil(count / int(page_size)) respon_json = tool.pageResponse(data_count, int(current_number), page_count, int(page_size), respon_json) self.write(respon_json)
def post(self, translation_id=None): # if translation_id is None: raise HTTPError(405) request_body = self.request.body.decode('utf-8') request_body = json.loads(request_body) key_list = [] for key, value in request_body.items(): key_list.append(key) key_list.sort() if key_list != ['app_id', 'cha', 'desc', 'language']: raise HTTPError(400, reason="KeyError", log_message="key not exist") cha = request_body['cha'] language = request_body['language'] desc = request_body['desc'] app_id = request_body['app_id'] for key, value in language.items(): if languages.db_get_language_id(key) == {}: raise HTTPError(400, reason="LanguageError", log_message="language not exist") if application.db_get_application_id(app_id) == {}: raise HTTPError(400, reason="AppError", log_message="app not exist") post_flag = character.db_get_id_character(cha) if post_flag: raise HTTPError(400, reason="InsertDataError", log_message="data exist") cha_data = [{"name": cha, "description": desc}] cha_response = character.db_insert_character(cha_data) respon_json = [] for i in cha_response: response = tool.language2dict(i) respon_json.append(response) cha_id = respon_json[0]['id'] translation_list = [] for key, value in language.items(): data = { "language_id": int(key), "application_id": app_id, "character_id": cha_id, "cha_translation": value } translation_list.append(data) for param in translation_list: language_id = param['language_id'] application_id = param['application_id'] character_id = param['character_id'] cha_translation = param['cha_translation'] if application_id == 0: application_id = None post_flag = translation.db_get_id_translation( language_id, application_id, character_id) if post_flag: raise HTTPError(400, reason="InsertDataError", log_message="data exist") tran_response = translation.db_insert_translation(translation_list) respon_json_a = [] for i in tran_response: response = tool.translation2dict(i) respon_json_a.append(response) respon_json_a = respon_json + respon_json_a respon_json_a = json.dumps(respon_json_a) print(respon_json_a) self.write(respon_json_a)