コード例 #1
0
ファイル: views.py プロジェクト: Lingong/aws
async def register(app, uid, password, name, group):
    async with app['db'].acquire() as conn:
        # 检查用户是否存在
        cuser = await conn.execute(User.select().where(User.c.uid == uid))
        ruser = await cuser.fetchone()
        if ruser:
            return web.json_response({
                'result': False,
                'message': '用户%s已存在' % uid
            })
        else:
            # 检查用户组是否存在
            cgroup = await conn.execute(
                Group.select().where(Group.c.gid == group))
            rgroup = await cgroup.fetchone()
            if rgroup is None:
                return web.json_response({
                    'result': False,
                    'message': '用户组%s不存在' % group
                })
            await conn.execute(User.insert(),
                               uid=uid,
                               password=password,
                               group=group,
                               name=name)
            return web.json_response({
                'result': True,
                'message': '用户%s(%s)注册成功' % (uid, name)
            })
コード例 #2
0
def get_all_events(driver, debug=True):
    print("\nScanning for new events:")

    while True:
        group_count = Group.select().where(
            Group.fetched_events == False).count()
        if group_count == 0:
            break

        group = Group.get(Group.fetched_events == False)
        print("Processing {} groups. Fetching events.".format(group_count),
              flush=True)

        group_events = get_group_events(driver, group.id)
        for event_id, data in group_events.items():
            event = Event.get_or_create(id=event_id)[0]
            event.name = data["name"]
            event.location = data["location"]
            event.image = data["image"]
            event.save()
        print("Found {} events".format(len(group_events)), flush=True)

        group.fetched_events = True
        group.last_fetched = datetime.datetime.utcnow()
        group.events_found = len(group_events)
        group.save()

        if debug and len(group_events) > 0:
            break
コード例 #3
0
ファイル: views.py プロジェクト: Lingong/aws
async def login(app, uid, password):
    async with app['db'].acquire() as conn:
        cuser = await conn.execute(User.select().where(User.c.uid == uid))
        ruser = await cuser.fetchone()
        if ruser is None:
            return web.json_response({
                'result': False,
                'message': '用户%s不存在' % uid
            })
        if ruser.password != password:
            return web.json_response({'result': False, 'message': '密码错误'})
        cgroup = await conn.execute(
            Group.select().where(Group.c.gid == ruser.group))
        rgroup = await cgroup.fetchone()
        if rgroup is None:
            return web.json_response({
                'result': False,
                'message': '用户组%s不存在' % ruser.group
            })
        token = app['token'].genToken(uid)
        data = {
            'result': True,
            'role': rgroup.role,
            'token': token,
            'message': 'login success'
        }
        return web.json_response(data)
コード例 #4
0
ファイル: app.py プロジェクト: Gopfu/WorldCupAPI
def get_groups():
    """
    获取32强组
    """
    page = int(request.args.get('page', 1))
    pre_page = int(request.args.get('pre_page', 4))
    groups = Group.select().paginate(page, pre_page)
    data = [g.get_dict() for g in groups]
    return json_data(data)
コード例 #5
0
ファイル: views.py プロジェクト: Lingong/aws
async def groups(app):
    async with app['db'].acquire() as conn:
        cursor = await conn.execute(
            Group.select().where(Group.c.role == 'user'))
        row = await cursor.fetchall()
        data = []
        if row:
            data = [dict(g) for g in row]
        return web.json_response(data=data)
コード例 #6
0
ファイル: views.py プロジェクト: Lingong/aws
async def auts(app):
    async with app['db'].acquire() as conn:
        cgroup = await conn.execute(
            Group.select().where(Group.c.role == 'user'))
        rgroup = await cgroup.fetchall()
        data = []
        if rgroup:
            for group in rgroup:
                data.append({'autid': group.gid, 'name': group.name})
        join = sa.join(User, Group, User.c.group == Group.c.gid)
        query = (sa.select(
            [User.c.uid,
             User.c.name]).select_from(join).where(Group.c.role != 'admin'))
        cuser = await conn.execute(query)
        ruser = await cuser.fetchall()
        if ruser:
            for user in ruser:
                data.append({'autid': user.uid, 'name': user.name})
        return web.json_response(data=data)
コード例 #7
0
ファイル: views.py プロジェクト: Lingong/aws
async def add(app, gid, name):
    async with app['db'].acquire() as conn:
        cursor = await conn.execute(Group.select().where(Group.c.gid == gid))
        row = await cursor.fetchone()
        if row:
            return web.json_response({
                'result': False,
                'message': '组%s已存在' % gid
            })
        else:
            cursor = await conn.execute(Group.insert().values(gid=gid,
                                                              name=name,
                                                              role='user'))
            if cursor.rowcount == 1:
                return web.json_response({
                    'result': True,
                    'message': '新增组%s成功' % gid
                })
            else:
                return web.json_response({
                    'result': False,
                    'message': '新增组%s失败' % gid
                })
コード例 #8
0
ファイル: app.py プロジェクト: CaveMike/flask_rest
 def save(cls, user, **kwargs):
     g.current_user = user if user else None
     admin_group = Group.select().where(Group.name == 'admin').get()
     g.is_admin = admin_group.is_member(g.current_user)