示例#1
0
def admin_unmatched_files(user):
    if not user['uid'] in settings.ADMINS:
        abort(401)
    files = defaultdict(list)
    users = []
    for k in storage.all_keys():
        uid = k.split('/')[1]
        files[uid].append(k)
    for u in _user.find():
        try:
            del files[u['uid']]
        except KeyError:
            pass
    return _jsonify(files)
示例#2
0
文件: api.py 项目: dmoses/StoryMapJS
def admin_users(user):
    if not user['uid'] in settings.ADMINS:
        abort(401)
    page = int(request.args.get('page', 1))
    rpp = int(request.args.get('rpp', 100))
    skip = (page - 1) * rpp
    files = defaultdict(list)
    users = []
    for k in storage.all_keys():
        uid = k.split('/')[1]
        files[uid].append(k) 
    for u in _user.find(skip=skip, limit=rpp):
        u.update({ 'files': files[u['uid']] })
        users.append(u)
    return render_template('admin/users.html', **{ 'users': users })
示例#3
0
文件: api.py 项目: jorol/StoryMapJS
def admin_users(user):
    if not user["uid"] in settings.ADMINS:
        abort(401)
    args = request.args.copy()
    page = int(args.pop("page", 1))
    rpp = int(request.args.get("rpp", 100))
    skip = (page - 1) * rpp
    files = defaultdict(list)
    users = []
    query = {}
    if args.get("uname"):
        if args.get("unamesearch") == "is":
            query.update({"uname": args["uname"]})
        else:
            query.update({"uname": {"$regex": args["uname"], "$options": "i"}})
    if args.get("uid"):
        query.update({"uid": args["uid"]})
    migrated = args.get("migrated")
    if migrated == "migrated":
        query.update({"migrated": 1})
    elif migrated == "unmigrated":
        query.update({"migrated": 0})
    for k in storage.all_keys():
        uid = k.split("/")[1]
        files[uid].append(k)
    pages = 0
    if query:
        for u in _user.find(query, skip=skip, limit=rpp):
            u.update({"files": files[u["uid"]]})
            users.append(u)
        pages = int(math.ceil(_user.find(query).count() / rpp))
    return render_template(
        "admin/users.html",
        **{
            "users": users,
            "page": page,
            "pages": pages,
            "args": args,
            "querystring": urllib.urlencode(args.items()),
            "storage_root": settings.AWS_STORAGE_BUCKET_URL,
        }
    )
示例#4
0
文件: api.py 项目: maxine/StoryMapJS
def admin_users(user):
    if not user['uid'] in settings.ADMINS:
        abort(401)
    args = request.args.copy()
    page = int(args.pop('page', 1))
    rpp = int(request.args.get('rpp', 100))
    skip = (page - 1) * rpp
    files = defaultdict(list)
    users = []
    query = {}
    if args.get('uname'):
        if args.get('unamesearch') == 'is':
            query.update({'uname': args['uname']})
        else:
            query.update({'uname': {'$regex': args['uname'], '$options': 'i'}})
    if args.get('uid'):
        query.update({'uid': args['uid']})
    migrated = args.get('migrated')
    if migrated == 'migrated':
        query.update({'migrated': 1})
    elif migrated == 'unmigrated':
        query.update({'migrated': 0})
    for k in storage.all_keys():
        uid = k.split('/')[1]
        files[uid].append(k)
    pages = 0
    if query:
        for u in _user.find(query, skip=skip, limit=rpp):
            u.update({'files': files[u['uid']]})
            users.append(u)
        pages = int(math.ceil(_user.find(query).count() / rpp))
    return render_template(
        'admin/users.html', **{
            'users': users,
            'page': page,
            'pages': pages,
            'args': args,
            'querystring': urllib.urlencode(args.items()),
            'storage_root': settings.AWS_STORAGE_BUCKET_URL
        })
示例#5
0
文件: api.py 项目: TobMcG/StoryMapJS
def admin_users(user):
    if not user['uid'] in settings.ADMINS:
        abort(401)
    args = request.args.copy()
    page = int(args.pop('page', 1))
    rpp = int(request.args.get('rpp', 100))
    skip = (page - 1) * rpp
    files = defaultdict(list)
    users = []
    query = {}
    if args.get('uname'):
        if args.get('unamesearch') == 'is':
            query.update({ 'uname': args['uname'] })
        else:
            query.update({ 'uname':{'$regex': args['uname'], '$options': 'i'}})
    if args.get('uid'):
        query.update({ 'uid': args['uid'] })
    migrated = args.get('migrated')
    if migrated == 'migrated':
        query.update({ 'migrated': 1 })
    elif migrated == 'unmigrated':
        query.update({ 'migrated': 0 })
    for k in storage.all_keys():
        uid = k.split('/')[1]
        files[uid].append(k)
    pages = 0
    if query:
        for u in _user.find(query, skip=skip, limit=rpp):
            u.update({ 'files': files[u['uid']] })
            users.append(u)
        pages = int(math.ceil(_user.find(query).count() / rpp))
    return render_template('admin/users.html', **{
        'users': users,
        'page': page,
        'pages': pages,
        'args': args,
        'querystring': urllib.urlencode(args.items()),
        'storage_root': settings.AWS_STORAGE_BUCKET_URL
    })
 def test_list_keys(self):
     keys = all_keys()
 def test_list_keys(self):
     keys = all_keys()