From ad4d839a1af91000a62f6a608266aa730442aafb Mon Sep 17 00:00:00 2001 From: Michiel Scholten Date: Sat, 23 Jul 2016 15:10:58 +0200 Subject: [PATCH] Moved key generation to User object itself; initialise its tags cache --- digimarks.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/digimarks.py b/digimarks.py index 6d9ef08..7436e20 100644 --- a/digimarks.py +++ b/digimarks.py @@ -46,10 +46,6 @@ except AttributeError: all_tags = {} -def getkey(): - return os.urandom(24).encode('hex') - - def clean_tags(tags_list): tags_res = [x.strip() for x in tags_list] tags_res = list(unique_everseen(tags_res)) @@ -65,6 +61,11 @@ class User(db.Model): key = CharField() created_date = DateTimeField(default=datetime.datetime.now) + def generate_key(self): + """ Generate userkey """ + self.key = os.urandom(24).encode('hex') + return self.key + class Bookmark(db.Model): """ Bookmark instance, connected to User """ @@ -334,9 +335,10 @@ def adduser(systemkey): """ Add user endpoint, convenience """ if systemkey == settings.SYSTEMKEY: newuser = User() - newuser.key = getkey() + newuser.generate_key() newuser.username = 'Nomen Nescio' newuser.save() + all_tags[newuser.key] = [] return redirect('/' + newuser.key, code=302) else: abort(404)