# 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 https://github.com/tannercollin/t0txt 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('/