Esempio n. 1
0
def update(id):
    user = obj_or_404(User.by_id(id))
    authz.require(user.id == current_user.id or authz.is_admin())
    user.update(request_data())
    db.session.add(user)
    db.session.commit()
    return jsonify(user)
Esempio n. 2
0
def view(id):
    authz.require(id == current_user.id or authz.is_admin())
    user = obj_or_404(User.by_id(id))
    data = user.to_dict()
    if user.id != current_user.id:
        del data['email']
    return jsonify(data)
Esempio n. 3
0
def index():
    authz.require(authz.is_admin())
    users = []
    for user in User.all():
        data = user.to_dict()
        del data['email']
        users.append(data)
    return jsonify({'results': users, 'total': len(users)})
Esempio n. 4
0
def view(slug):
    authz.require(authz.source_read(slug) and authz.is_admin())
    source = obj_or_404(Source.by_slug(slug))
    etag_cache_keygen(source)
    data = source.to_dict()
    data['can_write'] = authz.source_write(slug)
    if data['can_write']:
        data['users'] = [u.id for u in source.users]
        data['config'] = source.config
    return jsonify(data)
Esempio n. 5
0
def queue():
    authz.require(authz.is_admin())
    data = request_data()
    crawler_id = data.get('crawler_id')
    for cls in get_exposed_crawlers():
        if crawler_id == cls.get_id():
            incremental = bool(data.get('incremental', False))
            execute_crawler.delay(crawler_id, incremental=incremental)
            return jsonify({'status': 'queued'})
    return jsonify({'status': 'error', 'message': 'No such crawler'},
                   status=400)
Esempio n. 6
0
def states():
    authz.require(authz.is_admin())
    q = db.session.query(CrawlerState)
    q = q.filter(CrawlerState.status == CrawlerState.STATUS_FAIL)
    if 'crawler_id' in request.args:
        q = q.filter(CrawlerState.crawler_id == request.args.get('crawler_id'))
    if 'crawler_run' in request.args:
        q = q.filter(CrawlerState.crawler_run == request.args.get('crawler_run'))
    if 'error_type' in request.args:
        q = q.filter(CrawlerState.error_type == request.args.get('error_type'))
    q = q.order_by(CrawlerState.created_at.desc())
    return jsonify(Pager(q))
Esempio n. 7
0
def states():
    authz.require(authz.is_admin())
    q = db.session.query(CrawlerState)
    q = q.filter(CrawlerState.status == CrawlerState.STATUS_FAIL)
    if 'crawler_id' in request.args:
        q = q.filter(CrawlerState.crawler_id == request.args.get('crawler_id'))
    if 'crawler_run' in request.args:
        q = q.filter(CrawlerState.crawler_run == request.args.get('crawler_run'))
    if 'error_type' in request.args:
        q = q.filter(CrawlerState.error_type == request.args.get('error_type'))
    q = q.order_by(CrawlerState.created_at.desc())
    response = Pager(q).to_dict()
    return jsonify(response)
Esempio n. 8
0
def status():
    oauth_providers = {}
    for name, provider in PROVIDERS.items():
        if not isinstance(provider, Stub):
            oauth_providers[name] = url_for('.login', provider=name)

    return jsonify({
        'logged_in': authz.logged_in(),
        'is_admin': authz.is_admin(),
        'api_key': current_user.api_key if authz.logged_in() else None,
        'user': current_user if authz.logged_in() else None,
        'permissions': {},
        'logins': oauth_providers,
        'logout': url_for('.logout')
    })
Esempio n. 9
0
def status():
    oauth_providers = {}
    for name, provider in PROVIDERS.items():
        if not isinstance(provider, Stub):
            oauth_providers[name] = url_for('.login', provider=name)

    return jsonify({
        'logged_in': authz.logged_in(),
        'is_admin': authz.is_admin(),
        'api_key': current_user.api_key if authz.logged_in() else None,
        'user': current_user if authz.logged_in() else None,
        'permissions': {},
        'logins': oauth_providers,
        'logout': url_for('.logout')
    })
Esempio n. 10
0
def create():
    authz.require(authz.is_admin())
    src = Source.create(request_data(), current_user)
    db.session.commit()
    return view(src.slug)
Esempio n. 11
0
def index():
    authz.require(authz.is_admin())
    crawlers = list(get_exposed_crawlers())
    return jsonify({'results': crawlers, 'total': len(crawlers)})
Esempio n. 12
0
def ui_admin(**kwargs):
    authz.require(authz.is_admin())
    return render_template("layout.html", templates=angular_templates())
Esempio n. 13
0
File: admin.py Progetto: 01-/aleph
 def is_accessible(self):
     return authz.is_admin()
Esempio n. 14
0
def index():
    authz.require(authz.is_admin())
    crawlers = list(get_exposed_crawlers())
    return jsonify(Pager(crawlers, limit=20))
Esempio n. 15
0
 def is_accessible(self):
     return authz.is_admin()
Esempio n. 16
0
def index():
    authz.require(authz.is_admin())
    crawlers = list(get_exposed_crawlers())
    return jsonify(Pager(crawlers, limit=20))
Esempio n. 17
0
File: ui.py Progetto: vied12/aleph
def ui_admin(**kwargs):
    authz.require(authz.is_admin())
    return render_template("layout.html", templates=angular_templates())