# t0txt - txt.t0.vc # MIT License import random import shelve import string from flask import abort, Flask, request, redirect DB = 'data/t0txt' PORT = 5002 URL = 'https://txt.t0.vc' POST = 'txt' def help(): form = ( '
'.format(URL, POST) ) return """
txt.t0.vc
NAME
t0txt: command line pastebin.
USAGE
<command> | curl -F '{0}=<-' {1}
or upload from the web:
{2}
DESCRIPTION
I got sick of sprunge.us always going down, so I built this
EXAMPLES
~$ cat yourfile | curl -F '{0}=<-' {1}
{1}/MOJV
~$ firefox {1}/MOJV
Add this to your .bashrc:
alias {0}=" \\
sed -r 's/\x1B\[([0-9]{{1,2}}(;[0-9]{{1,2}})?)?[m|K]//g' \\
| curl -F '{0}=<-' {1}"
Now you can pipe directly into {0}! Sed removes colours.
SOURCE CODE
https://txt.t0.vc/GPBV
SEE ALSO
https://pic.t0.vc
https://url.t0.vc
http://github.com/rupa/sprunge
""".format(POST, URL, form)
def new_id():
return ''.join(random.choice(string.ascii_uppercase) for _ in range(4))
flask_app = Flask(__name__)
@flask_app.route('/', methods=['GET'])
def index():
return '{}'.format(help())
@flask_app.route('/', methods=['POST'])
def new():
try:
with shelve.open(DB) as db:
nid = new_id()
while nid in db:
nid = new_id()
txt = request.form['txt']
if not txt: raise
db[nid] = txt
print('Adding note {}:\n{}'.format(nid, txt))
url = '{}/{}'.format(URL, nid)
if 'web' in request.form:
return redirect(url)
else:
return url + '\n'
except:
abort(400)
@flask_app.route('/