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 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 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 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)
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 })
from storymap import storage from api import app, _write_embed_draft, _write_embed_published from flask import g # Find all storymaps with ids that contain bad chars print "Examining StoryMaps" regex = re.compile("[^A-Za-z0-9_\-]") skip = 0 limit = 100 n = _user.count() while skip < n: for user in _user.find({}, skip=skip, limit=limit): for id in [id for id in user["storymaps"].keys() if regex.search(id)]: key_prefix = storage.key_prefix(user["uid"], id) with app.test_request_context(): print "Writing embed draft for %s" % key_prefix _write_embed_draft(key_prefix, user["storymaps"][id]) if user["storymaps"][id].get("published_on"): print "Writing embed published for %s" % key_prefix _write_embed_published(key_prefix, user["storymaps"][id]) skip += limit sys.exit(0)
from storymap import storage from api import app, _write_embed_draft, _write_embed_published from flask import g # Find all storymaps with ids that contain bad chars print 'Examining StoryMaps' regex = re.compile('[^A-Za-z0-9_\-]') skip = 0 limit = 100 n = _user.count() while skip < n: for user in _user.find({}, skip=skip, limit=limit): for id in [id for id in user['storymaps'].keys() if regex.search(id)]: key_prefix = storage.key_prefix(user['uid'], id) with app.test_request_context(): print 'Writing embed draft for %s' % key_prefix _write_embed_draft(key_prefix, user['storymaps'][id]) if user['storymaps'][id].get('published_on'): print 'Writing embed published for %s' % key_prefix _write_embed_published(key_prefix, user['storymaps'][id]) skip += limit sys.exit(0)