diff --git a/app.py b/app.py index b8c7553..3b1d3d2 100644 --- a/app.py +++ b/app.py @@ -3,6 +3,7 @@ import random import string import os +import types host = "https://secrets-accp.mendix.com" r = redis.Redis() @@ -34,7 +35,8 @@ def create(): generated = True else: generated = False - r.set(key, secret) + while not r.setnx(key, secret): + key = random_string(redis_key_length) secret_url = "%s/get/%s" % (host, key) if generated: @@ -56,8 +58,10 @@ def generate(): @app.route("/get/") def retrieve(key=None): - secret = escape(r.get(key)) + secret = r.get(key) r.delete(key) + if type(secret) != types.NoneType: + secret = escape(secret) return render_template('get.tmpl', secret=secret) if __name__ == "__main__":