示例#1
0
def new_api():
    try:
        code = _new()

        return redirect(url_for('filebin_api', code=code))
    except (FileBinBaseException, FileStoreBaseException) as e:
        return handle_exception(e)
示例#2
0
def uploaded_archive(code):
    try:
        archive = filestore.access_archive(code)

        return send_file(archive,
                         mimetype='application/zip',
                         as_attachment=True,
                         attachment_filename='{}.zip'.format(code))
    except (FileBinBaseException, FileStoreBaseException) as e:
        return handle_exception(e)
示例#3
0
def filebin(code):
    try:
        files, meta = _filebin(code)

        # manage session for browser-based visitors
        history.add(meta.code)

        return render_template('filebin.html', files=files, meta=meta)
    except FileStoreBaseException as e:
        return handle_exception(e)
示例#4
0
def filebin_api(code):
    try:
        files, meta = _filebin(code)

        return json.jsonify({
            'error':
            False,
            'files':
            list(map(lambda f: {
                'filename': f.name,
                'filesize': f.size
            }, files)),
            'meta': {
                'expiration_timestamp_utc': meta.expiration_timestamp_utc,
                'definition': meta.definition,
                'code': meta.code,
                'total_size': meta.total_size
            },
        })
    except FileBinBaseException as e:
        return handle_exception(e)
示例#5
0
def uploaded_file(code, filename):
    try:
        return _uploaded_file(code, filename)
    except (FileBinBaseException, FileStoreBaseException) as e:
        return handle_exception(e)