handlers.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:aiowing 作者: embali 项目源码 文件源码
def post(self):
        await self.request.post()

        create = self.request.POST.get('create') is not None
        update = self.request.POST.get('update') is not None
        delete = self.request.POST.get('delete') is not None

        uid = self.request.POST.get('uid')
        active = True if self.request.POST.get('active') is not None else False
        name = self.request.POST.get('name', '').strip()
        description = self.request.POST.get('description')

        try:
            page = int(self.request.POST.get('page', 1))
        except (ValueError, TypeError):
            page = 1

        if all((create, active, name)):
            try:
                async with settings.manager.atomic():
                    created = await settings.manager.create(
                        Record,
                        active=active,
                        name=name,
                        description=description)
            except peewee.IntegrityError:
                return (await self.ajax_empty('not_created'))
            else:
                return (await self.ajax_page('create', page))
        elif all((update, uid, active, name)):
            try:
                async with settings.manager.atomic():
                    updated = await settings.manager.execute(
                        Record
                        .update(
                            active=active,
                            name=name,
                            description=description)
                        .where(Record.uid == uid))
            except peewee.IntegrityError:
                return (await self.ajax_empty('not_updated'))
            else:
                return (await self.ajax_page('update', page))
        elif all((delete, uid)):
            try:
                async with settings.manager.atomic():
                    deleted = await settings.manager.execute(
                        Record
                        .delete()
                        .where(Record.uid == uid))
            except peewee.IntegrityError:
                return (await self.ajax_empty('not_deleted'))
            else:
                return (await self.ajax_page('delete', page))
        else:
            return (await self.ajax_empty('not_command'))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号