From a363b3f4cdc461907b0b5e368c56e9bd6a8112ea Mon Sep 17 00:00:00 2001 From: Tanner Collin Date: Sun, 3 May 2020 23:02:56 +0000 Subject: [PATCH] Finish coding reg --- t0reg.py | 82 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/t0reg.py b/t0reg.py index 02d0759..51a984a 100644 --- a/t0reg.py +++ b/t0reg.py @@ -1,61 +1,69 @@ -# t0txt - txt.t0.vc +# t0reg - reg.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' +PORT = 5005 +URL = 'https://reg.t0.vc' +POST = 'reg' -def help(): +registers = {} + +def help(nid): form = ( '
' '' - '' - '
'.format(URL, POST) + '' + '
'.format(URL, nid) ) return """
-                        txt.t0.vc
+                        reg.t0.vc
 NAME
-    t0txt: command line pastebin.
+    t0reg: command line key-value registers
 
 USAGE
     <command> | curl -F '{0}=<-' {1}
     or upload from the web:
 
 {2}
+    The key {0} was randomly chosen for you.
 
 DESCRIPTION
-    I got sick of sprunge.us always going down, so I built this
+    This lets you POST data to a key of your choice.
+    You can then GET the data at that key.
+    This is useful for moving data / files between servers.
+    All the data is stored temporarily.
+    Make your key random if you don't want people guessing.
 
 EXAMPLES
-    ~$ cat yourfile | curl -F '{0}=<-' {1}
-       {1}/MOJV
-    ~$ firefox {1}/MOJV
+    ~$ echo "hello world" | curl -F '{0}=<-' {1}
+    ~$ curl {1}/{0}
+    hello world
 
     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}"
+    alias push="curl -F '{0}=<-' {1}"
+    alias pull="curl {1}/{0}"
+
+    Now you can pipe directly into push!
+    Get the data back with pull.
 
-    Now you can pipe directly into {0}! Sed removes colours.
+    To move a file:
+    ~$ cat kitten.jpg | base64 | push
+    ~$ pull | base64 -d > kitten.jpg
 
 SOURCE CODE
-    https://txt.t0.vc/GPBV
-    https://github.com/tannercollin/t0txt
+    https://txt.t0.vc/SBSU
 
 SEE ALSO
+    https://txt.t0.vc
     https://pic.t0.vc
     https://url.t0.vc
-    http://github.com/rupa/sprunge
-
""".format(POST, URL, form) +""".format(nid, URL, form) def new_id(): return ''.join(random.choice(string.ascii_uppercase) for _ in range(4)) @@ -64,35 +72,27 @@ flask_app = Flask(__name__) @flask_app.route('/', methods=['GET']) def index(): - return '{}'.format(help()) + return '{}'.format(help(new_id())) @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)) + pairs = [x for x in request.form.items() if x[0] != 'web'] + for key, value in pairs: + print('Adding:', key) + registers[key] = value - url = '{}/{}'.format(URL, nid) if 'web' in request.form: - return redirect(url) + return redirect(URL + '/' + key) else: - return url + '\n' + return '', 200 except: abort(400) -@flask_app.route('/', methods=['GET']) -def get(nid): +@flask_app.route('/', methods=['GET']) +def get(rid): try: - with shelve.open(DB) as db: - return db[nid] + '\n', 200, {'Content-Type': 'text/plain; charset=utf-8'} + return registers[rid], 200, {'Content-Type': 'text/plain; charset=utf-8'} except: abort(404)