itpylint fixes - blck - ephemeral pastebin/url shortener Err parazyd.org 70 hgit clone https://git.parazyd.org/blck URL:https://git.parazyd.org/blck parazyd.org 70 1Log /git/blck/log.gph parazyd.org 70 1Files /git/blck/files.gph parazyd.org 70 1Refs /git/blck/refs.gph parazyd.org 70 1README /git/blck/file/README.md.gph parazyd.org 70 1LICENSE /git/blck/file/LICENSE.gph parazyd.org 70 i--- Err parazyd.org 70 1commit f0df513684d99c3acb8c070e8fbb45b9bf7a402c /git/blck/commit/f0df513684d99c3acb8c070e8fbb45b9bf7a402c.gph parazyd.org 70 1parent f2b0200b30168f05341eec71975e0bfbb5a07424 /git/blck/commit/f2b0200b30168f05341eec71975e0bfbb5a07424.gph parazyd.org 70 hAuthor: parazyd URL:mailto:parazyd@dyne.org parazyd.org 70 iDate: Tue, 3 Oct 2017 11:05:44 +0200 Err parazyd.org 70 i Err parazyd.org 70 ipylint fixes Err parazyd.org 70 i Err parazyd.org 70 iDiffstat: Err parazyd.org 70 i M README.md | 2 +- Err parazyd.org 70 i M blck.py | 50 ++++++++++++++++--------------- Err parazyd.org 70 i Err parazyd.org 70 i2 files changed, 27 insertions(+), 25 deletions(-) Err parazyd.org 70 i--- Err parazyd.org 70 1diff --git a/README.md b/README.md /git/blck/file/README.md.gph parazyd.org 70 it@@ -12,7 +12,7 @@ get `python-flask` and execute `blck.py`. by default it starts on Err parazyd.org 70 i `localhost:5000`, but you can configure it at the bottom of the script. Err parazyd.org 70 i Err parazyd.org 70 i to choose whether the app runs as a pastebin or url shortener, just Err parazyd.org 70 i-change the `pastebin` variable inside `blck.py` Err parazyd.org 70 i+change the `PASTEBIN` variable inside `blck.py` Err parazyd.org 70 i Err parazyd.org 70 i Err parazyd.org 70 i nginx Err parazyd.org 70 1diff --git a/blck.py b/blck.py /git/blck/file/blck.py.gph parazyd.org 70 it@@ -1,46 +1,50 @@ Err parazyd.org 70 i #!/usr/bin/env python3 Err parazyd.org 70 i # copyleft (c) 2017 - parazyd Err parazyd.org 70 i # see LICENSE file for details Err parazyd.org 70 i+""" Err parazyd.org 70 i+main blck module Err parazyd.org 70 i+""" Err parazyd.org 70 i Err parazyd.org 70 i-import flask Err parazyd.org 70 i import random Err parazyd.org 70 i import os Err parazyd.org 70 i import string Err parazyd.org 70 i+import flask Err parazyd.org 70 i Err parazyd.org 70 i Err parazyd.org 70 i-app = flask.Flask(__name__) Err parazyd.org 70 i- Err parazyd.org 70 i-pastebin = False Err parazyd.org 70 i+PASTEBIN = False Err parazyd.org 70 i+APP = flask.Flask(__name__) Err parazyd.org 70 i Err parazyd.org 70 i Err parazyd.org 70 i-@app.route("/", methods=['GET', 'POST']) Err parazyd.org 70 i+@APP.route("/", methods=['GET', 'POST']) Err parazyd.org 70 i def main(): Err parazyd.org 70 i+ """ main routine """ Err parazyd.org 70 i try: Err parazyd.org 70 i- url = flask.request.form['url'] Err parazyd.org 70 i- return s(url) Err parazyd.org 70 i+ return short(flask.request.form['url']) Err parazyd.org 70 i except: Err parazyd.org 70 i- return flask.render_template("index.html", pastebin=pastebin) Err parazyd.org 70 i+ return flask.render_template("index.html", pastebin=PASTEBIN) Err parazyd.org 70 i Err parazyd.org 70 i Err parazyd.org 70 i-@app.route("/") Err parazyd.org 70 i-def u(urlshort): Err parazyd.org 70 i+@APP.route("/") Err parazyd.org 70 i+def urlget(urlshort): Err parazyd.org 70 i+ """ returns a paste if it exists """ Err parazyd.org 70 i try: Err parazyd.org 70 i- with open('uris/' + urlshort, 'r') as f: Err parazyd.org 70 i- realurl = f.readline() Err parazyd.org 70 i+ with open('uris/' + urlshort, 'r') as paste: Err parazyd.org 70 i+ realurl = paste.readline() Err parazyd.org 70 i os.remove('uris/' + urlshort) Err parazyd.org 70 i- except: Err parazyd.org 70 i+ except FileNotFoundError: Err parazyd.org 70 i return "could not find paste\n" Err parazyd.org 70 i Err parazyd.org 70 i cliagents = ['curl', 'Wget'] Err parazyd.org 70 i if flask.request.headers.get('User-Agent').split('/')[0] not in cliagents \ Err parazyd.org 70 i- and not pastebin: Err parazyd.org 70 i+ and not PASTEBIN: Err parazyd.org 70 i return flask.redirect(realurl.rstrip('\n'), code=301) Err parazyd.org 70 i- else: Err parazyd.org 70 i- return realurl Err parazyd.org 70 i Err parazyd.org 70 i+ return realurl Err parazyd.org 70 i Err parazyd.org 70 i-def s(url): Err parazyd.org 70 i- if not pastebin: Err parazyd.org 70 i+ Err parazyd.org 70 i+def short(url): Err parazyd.org 70 i+ """ pasting logic """ Err parazyd.org 70 i+ if not PASTEBIN: Err parazyd.org 70 i # taken from django Err parazyd.org 70 i import re Err parazyd.org 70 i regex = re.compile( Err parazyd.org 70 it@@ -58,11 +62,8 @@ def s(url): Err parazyd.org 70 i return "invalid paste\n" Err parazyd.org 70 i Err parazyd.org 70 i urlshort = genid() Err parazyd.org 70 i- try: Err parazyd.org 70 i- with open('uris/' + urlshort, 'w') as f: Err parazyd.org 70 i- f.write(url + '\n') Err parazyd.org 70 i- except: Err parazyd.org 70 i- return "could not save paste\n" Err parazyd.org 70 i+ with open('uris/' + urlshort, 'w') as paste: Err parazyd.org 70 i+ paste.write(url + '\n') Err parazyd.org 70 i Err parazyd.org 70 i if flask.request.headers.get('X-Forwarded-Proto') == 'https': Err parazyd.org 70 i return flask.request.url_root.replace('http://', 'https://') \ Err parazyd.org 70 it@@ -72,8 +73,9 @@ def s(url): Err parazyd.org 70 i Err parazyd.org 70 i Err parazyd.org 70 i def genid(size=4, chars=string.ascii_uppercase + string.ascii_lowercase): Err parazyd.org 70 i+ """ returns a random id for a paste """ Err parazyd.org 70 i return ''.join(random.choice(chars) for i in range(size)) Err parazyd.org 70 i Err parazyd.org 70 i Err parazyd.org 70 i if __name__ == '__main__': Err parazyd.org 70 i- app.run(host="127.0.0.1", port=5000) Err parazyd.org 70 i+ APP.run(host="127.0.0.1", port=5000) Err parazyd.org 70 .