Пример #1
0
 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)
Пример #2
0
    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)
Пример #3
0
 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")
Пример #4
0
 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")
Пример #5
0
    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)
Пример #6
0
    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)