def post(self, *args, **kwargs): """ 增加 """ param_list = self.request.body.decode('utf-8') param_list = json.loads(param_list) for param in param_list: if 'name' not in param.keys(): raise HTTPError(400, reason="KeyError", log_message="key not exist") for param in param_list: name = param['name'] post_flag = languages.db_get_id_language(name) if post_flag: raise HTTPError(400, reason="InsertDataError", log_message="data exist") response = languages.db_insert_language(param_list) respon_json = [] for i in response: response = tool.language2dict(i) respon_json.append(response) respon_json = json.dumps(respon_json) self.write(respon_json)
def put(self, language_id=None): """ 更新,id对应的数据 :param language_id: :return: 更新成功或者失败 """ if language_id is None: raise HTTPError(405) param = self.request.body.decode('utf-8') prarm = json.loads(param) if 'name' in prarm.keys(): # 判断键是否正确 put_data = languages.db_get_language_id(language_id) if put_data: name = prarm['name'] description = prarm['description'] response = languages.db_update_language( language_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 db_get_id_character(name): session = DBSession() post_flag = session.query(Character).filter(Character.name == name).first() if post_flag: respon_dict = tool.language2dict(post_flag) else: respon_dict = 0 session.commit() session.close() return respon_dict
def db_get_application_id(application_id): session = DBSession() language_list = session.query(Application).filter(Application.id == application_id).first() if language_list: respon_dict = tool.language2dict(language_list) else: respon_dict = {} session.commit() session.close() return respon_dict
def db_get_character_id(character_id): session = DBSession() character_list = session.query(Character).filter(Character.id == character_id).first() if character_list: respon_dict = tool.language2dict(character_list) else: respon_dict = {} session.commit() session.close() return respon_dict
def db_get_id_language(accept_language): session = DBSession() language_list = session.query(Language).filter( Language.name == accept_language).first() if language_list: respon_dict = tool.language2dict(language_list) else: respon_dict = {} session.commit() session.close() return respon_dict
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 db_get_language_list(): session = DBSession() language_list = session.query(Language).all() respon_dict = [] if language_list: for i in language_list: json_transform = tool.language2dict(i) respon_dict.append(json_transform) else: respon_dict = [] session.commit() session.close() return respon_dict
def db_get_character_list(): session = DBSession() character_list = session.query(Character).all() respon_dict = [] if character_list: for i in character_list: json_transform = tool.language2dict(i) respon_dict.append(json_transform) else: respon_dict = [] session.commit() session.close() return respon_dict
def get(self, *args, **kwargs): """ 获取分页数据 :param args: ‘limit’ 每页数目,‘page’ 页数 :param kwargs: :return: 分页数据 """ respon_json = [] page_size = self.get_argument('limit', 10) page = self.get_argument('page', 1) query,count = application.db_get_application_page(page_size,page) for i in query: json_transform = tool.language2dict(i) 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) self.write(respon_json)
def test_language2dict(self): language = sqlClass.Language() language.id = 1 language.name = 'en' self.assertEquals(language2dict(language), dict(id=1, name='en'))
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)