def index(): if request.method == 'POST': uploaded_file = request.files['file'] w = request.form.get('w') h = request.form.get('h') if not uploaded_file: return abort(400) if w and h: paste_file = PasteFile.rsize(uploaded_file, w, h) else: paste_file = PasteFile.create_by_upload_file(uploaded_file) paste_file.save() return jsonify({ 'url_d': paste_file.url_d, 'url_i': paste_file.url_i, 'url_s': paste_file.url_s, 'url_p': paste_file.url_p, 'filename': paste_file.filename, 'size': humanize_bytes(paste_file.size), 'time': str(paste_file.uploadtime), 'type': paste_file.type, 'quoteurl': paste_file.quoteurl }) return render_template('index.html', **locals())
def rsize(img_hash): w = request.args['w'] h = request.args['h'] old_paste = PasteFile.get_by_filehash(img_hash) new_paste = PasteFile.rsize(old_paste, w, h) return new_paste.url_i
def preview(filehash): paste_file = PasteFile.get_by_filehash(filehash) if not paste_file: filepath = get_file_path(filehash) if not(os.path.exists(filepath) and (not os.path.islink(filepath))): return abort(404) paste_file = PasteFile.create_by_old_paste(filehash) paste_file.save() return render_template('success.html', p=paste_file)
def download(filehash): paste_file = PasteFile.get_by_filehash(filehash) return send_file(open(paste_file.path, 'rb'), mimetype='application/octet-stream', cache_timeout=ONE_MONTH, as_attachment=True, attachment_filename=paste_file.filename.encode('utf-8'))
def j(): uploaded_file = request.files['file'] if uploaded_file: paste_file = PasteFile.create_by_upload_file(uploaded_file) paste_file.save() width, height = paste_file.image_size return jsonify({ 'url': paste_file.url_i, 'short_url': paste_file.url_s, 'origin_filename': paste_file.filename, 'hash': paste_file.filehash, 'width': width, 'height': height }) return abort(400)
def j(): uploaded_file = request.files['file'] if uploaded_file: paste_file = PasteFile.create_by_upload_file(uploaded_file) db.session.add(paste_file) db.session.commit() width, height = paste_file.image_size return jsonify({ 'url': paste_file.url_i, 'short_url': paste_file.url_s, 'origin_filename': paste_file.filename, 'hash': paste_file.filehash, 'width': width, 'height': height }) return abort(400)
def s(symlink): paste_file = PasteFile.get_by_symlink(symlink) return redirect(paste_file.url_p)
def __init__(self, *args, **kwargs): BasePasteFile.__init__(self, *args, **kwargs)