Fixing username availability bug

This commit is contained in:
Yusur 2019-05-02 19:55:53 +02:00
parent 4d35f84304
commit 0f0ef9c08b

5
app.py
View file

@ -3,7 +3,7 @@ from flask import (
send_from_directory, session, url_for) send_from_directory, session, url_for)
import hashlib import hashlib
from peewee import * from peewee import *
import datetime, time, re, os import datetime, time, re, os, string
from functools import wraps from functools import wraps
DATABASE = 'coriplus.sqlite' DATABASE = 'coriplus.sqlite'
@ -105,12 +105,13 @@ def create_tables():
os.makedirs(UPLOAD_DIRECTORY) os.makedirs(UPLOAD_DIRECTORY)
_forbidden_extensions = 'com net org txt'.split() _forbidden_extensions = 'com net org txt'.split()
_username_characters = frozenset(string.ascii_letters + string.digits + '_')
def is_username(username): def is_username(username):
username_splitted = username.split('.') username_splitted = username.split('.')
if username_splitted and username_splitted[-1] in _forbidden_extensions: if username_splitted and username_splitted[-1] in _forbidden_extensions:
return False 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): def validate_birthday(date):
today = datetime.date.today() today = datetime.date.today()