Exemplo n.º 1
0
def display():
    if 'access_token' not in session:
        abort(400)

    access_token = session['access_token']
    if 'job' in session:
        job = get_job_from_key(session['job'], conn)
        # Only rely on a previous result if the same user is logged in (same access_token)
        if job is not None and access_token == job.meta.get('access_token', None):
            return render_template('display.html', username=session['username'], quota=session['quota'], used=session['used'])

    try:
        client = Dropbox(access_token)
    except Exception:
        abort(401)

    account = client.users_get_current_account()
    session['username'] = account.name.display_name

    space_usage = client.users_get_space_usage()
    allocated, used = get_space_usage_info(space_usage)
    total_bytes = used
    session['used'] = human_readable(used)
    session['quota'] = human_readable(allocated)

    job = q.enqueue(walk_entire_dropbox, access_token, total_bytes)
    job.meta['access_token'] = access_token
    job.save()
    update_progress(job, 0, "/")
    session['job'] = job.key

    return render_template('display.html', username=session['username'], quota=session['quota'], used=session['used'])
Exemplo n.º 2
0
def display_result():
    if 'job' not in session:
        return jsonify(ready=False, progress=0)

    job = get_job_from_key(session['job'], conn)
    if job is None:
        abort(400)

    if job.result is None:
        return jsonify(ready=False, current=job.meta['current'], progress=job.meta['progress'])

    data, bytes_read = job.result
    return jsonify(ready=True, result=data)
Exemplo n.º 3
0
def display():
    if 'access_token' not in session:
        abort(400)

    if 'job' in session:
        job = get_job_from_key(session['job'], conn)
        # Only rely on a previous result if the same user is logged in (same access_token)
        if job is not None and session['access_token'] == job.meta['access_token']:
            return render_template('display.html', username=session['username'], quota=session['quota'], used=session['used'])

    try:
        client = DropboxClient(session['access_token'])
    except ErrorResponse, e:
        abort(401)
Exemplo n.º 4
0
def display_result():
    if 'job' not in session:
        return jsonify(ready=False, progress=0)

    job = get_job_from_key(session['job'], conn)
    if job is None:
        abort(400)

    if job.result is None:
        return jsonify(ready=False,
                       current=job.meta['current'],
                       progress=job.meta['progress'])

    data, bytes_read = job.result
    return jsonify(ready=True, result=data)
Exemplo n.º 5
0
def display():
    if 'access_token' not in session:
        abort(400)

    if 'job' in session:
        job = get_job_from_key(session['job'], conn)
        # Only rely on a previous result if the same user is logged in (same access_token)
        if job is not None and session['access_token'] == job.meta[
                'access_token']:
            return render_template('display.html',
                                   username=session['username'],
                                   quota=session['quota'],
                                   used=session['used'])

    try:
        client = DropboxClient(session['access_token'])
    except ErrorResponse, e:
        abort(401)
Exemplo n.º 6
0
def display():
    if 'access_token' not in session:
        abort(400)

    access_token = session['access_token']
    if 'job' in session:
        job = get_job_from_key(session['job'], conn)
        # Only rely on a previous result if the same user is logged in (same access_token)
        if job is not None and access_token == job.meta.get(
                'access_token', None):
            return render_template('display.html',
                                   username=session['username'],
                                   quota=session['quota'],
                                   used=session['used'])

    try:
        client = Dropbox(access_token)
    except Exception:
        abort(401)

    account = client.users_get_current_account()
    session['username'] = account.name.display_name

    space_usage = client.users_get_space_usage()
    allocated, used = get_space_usage_info(space_usage)
    total_bytes = used
    session['used'] = human_readable(used)
    session['quota'] = human_readable(allocated)

    job = q.enqueue(walk_entire_dropbox, access_token, total_bytes)
    job.meta['access_token'] = access_token
    job.save()
    update_progress(job, 0, "/")
    session['job'] = job.key

    return render_template('display.html',
                           username=session['username'],
                           quota=session['quota'],
                           used=session['used'])