示例#1
0
 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)
示例#2
0
 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)
示例#11
0
 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)