mirror of
https://github.com/makefu/bump.git
synced 2024-03-22 11:32:52 +01:00
initial vomit
This commit is contained in:
commit
63f233e0b9
1 changed files with 73 additions and 0 deletions
73
bump/init.py
Normal file
73
bump/init.py
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
from flask import Flask, Response, request
|
||||||
|
from functools import wraps
|
||||||
|
#import sys
|
||||||
|
import random
|
||||||
|
import string
|
||||||
|
storedir = "store"
|
||||||
|
app = Flask(__name__)
|
||||||
|
app.config['storedir'] = storedir
|
||||||
|
|
||||||
|
|
||||||
|
def returns_plain(f):
|
||||||
|
@wraps(f)
|
||||||
|
def decorated_function(*args, **kwargs):
|
||||||
|
r = f(*args, **kwargs)
|
||||||
|
return Response(r, content_type='text/plain; charset=utf-8')
|
||||||
|
return decorated_function
|
||||||
|
|
||||||
|
|
||||||
|
def usage(host):
|
||||||
|
return """Usage:
|
||||||
|
> echo balls | curl -F "p=<-" {0}
|
||||||
|
< http://{0}/q9a1bfljzm
|
||||||
|
> curl {0}/q9a1bfljzm
|
||||||
|
< balls""".format(host)
|
||||||
|
|
||||||
|
|
||||||
|
@returns_plain
|
||||||
|
@app.route("/", methods=["GET"])
|
||||||
|
def init():
|
||||||
|
#return Response(quicktip+open(sys.argv[0], "r").read(),
|
||||||
|
return Response(usage(request.host),
|
||||||
|
content_type="text/plain; charset=utf-8")
|
||||||
|
|
||||||
|
|
||||||
|
@returns_plain
|
||||||
|
@app.route("/", methods=["POST"])
|
||||||
|
def store_file():
|
||||||
|
try:
|
||||||
|
data = request.form['p']
|
||||||
|
key = generate_key()
|
||||||
|
store(key, data)
|
||||||
|
return "http://%s/%s" % (request.host, key)
|
||||||
|
except:
|
||||||
|
return usage(request.host), 401
|
||||||
|
|
||||||
|
|
||||||
|
@returns_plain
|
||||||
|
@app.route("/<key>", methods=["GET"])
|
||||||
|
def retrieve_file(key):
|
||||||
|
try:
|
||||||
|
return retrieve(key)
|
||||||
|
except:
|
||||||
|
return "'%s' not found! " % key, 404
|
||||||
|
|
||||||
|
|
||||||
|
def store(key, value):
|
||||||
|
with open("%s/%s" % (storedir, key), "wb+") as f:
|
||||||
|
f.write(value)
|
||||||
|
|
||||||
|
|
||||||
|
def retrieve(key):
|
||||||
|
with open("%s/%s" % (storedir, key), "rb+") as f:
|
||||||
|
return f.read()
|
||||||
|
|
||||||
|
|
||||||
|
def generate_key():
|
||||||
|
s = string.lowercase+string.digits
|
||||||
|
return ''.join(random.sample(s, 24))
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
#app.debug = True
|
||||||
|
app.run(host='0.0.0.0')
|
Loading…
Reference in a new issue