def new_api(): try: code = _new() return redirect(url_for('filebin_api', code=code)) except (FileBinBaseException, FileStoreBaseException) as e: return handle_exception(e)
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)
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)
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)
def uploaded_file(code, filename): try: return _uploaded_file(code, filename) except (FileBinBaseException, FileStoreBaseException) as e: return handle_exception(e)