From 0f0ef9c08bbd14606d5d5a4994804d71b9c94709 Mon Sep 17 00:00:00 2001 From: Mattia Succurro Date: Thu, 2 May 2019 19:55:53 +0200 Subject: [PATCH] Fixing username availability bug --- app.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app.py b/app.py index c767a28..74dcd4d 100644 --- a/app.py +++ b/app.py @@ -3,7 +3,7 @@ from flask import ( send_from_directory, session, url_for) import hashlib from peewee import * -import datetime, time, re, os +import datetime, time, re, os, string from functools import wraps DATABASE = 'coriplus.sqlite' @@ -105,12 +105,13 @@ def create_tables(): os.makedirs(UPLOAD_DIRECTORY) _forbidden_extensions = 'com net org txt'.split() +_username_characters = frozenset(string.ascii_letters + string.digits + '_') def is_username(username): username_splitted = username.split('.') if username_splitted and username_splitted[-1] in _forbidden_extensions: return False - return all(x.isidentifier() for x in username_splitted) + return all(x and set(x) < _username_characters for x in username_splitted) def validate_birthday(date): today = datetime.date.today()