From f178bf35a7a0e55b4e7720ccff41e2fb5e5b7d30 Mon Sep 17 00:00:00 2001 From: Donald Stufft Date: Thu, 25 Jul 2013 22:26:07 -0400 Subject: Suggest better usernames for openid --- webui.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/webui.py b/webui.py index 2462b37..14bd1a7 100644 --- a/webui.py +++ b/webui.py @@ -3307,9 +3307,22 @@ class WebUI: username = username.rsplit('@', 1)[0] if not username: username = "nonamegiven" - username = username.replace(' ','.') - username = re.sub('[^a-zA-Z0-9._]','',username) + + username = username.strip() + username = username.replace(' ', '.') + username = re.sub('[^a-zA-Z0-9._]', '', username) error = 'Please choose a username to complete registration' + + if not username: + username = "nonamegiven" + + alphanums = set(string.ascii_letters + string.digits) + if not safe_username.match(username): + if username[0] not in alphanums: + username = "openid_" + username + if username[-1] not in alphanums: + username = username + "_user" + if self.store.has_user(username, case_sensitive=False): suffix = 2 while self.store.has_user("%s_%d" % (username, suffix)): -- cgit v1.2.1