Bug487-WuYuhan-Refactor (#58)

将所有用于用户名验证的逻辑放入到 `UserName` 类中。

Hui

Co-authored-by: Lan Hui <1348141770@qq.com>
Reviewed-on: http://121.4.94.30:3000/mrlan/EnglishPal/pulls/58
Co-authored-by: mrlan <mrlan@noreply.121.4.94.30>
Co-committed-by: mrlan <mrlan@noreply.121.4.94.30>
mrlan 2022-11-10 19:03:59 +08:00
parent f909201615
commit 671df67723
2 changed files with 6 additions and 8 deletions

View File

@ -98,6 +98,9 @@ class UserName:
for c in self.username: # a user name must not include special characters, except non-leading periods or underscores
if c in string.punctuation and c is not '.' and c is not '_':
return f'{c} is not allowed in the user name.'
if self.username in ['signup', 'login', 'logout', 'reset', 'mark', 'back', 'unfamiliar', 'familiar', 'del']:
return 'You used a restricted word as your user name. Please come up with a better one.'
return 'OK'
@ -106,11 +109,5 @@ class WarningMessage:
self.s = s
def __str__(self):
result = UserName(self.s).validate()
if result != 'OK':
return result
return UserName(self.s).validate()
if self.s in ['signup', 'login', 'logout', 'reset', 'mark', 'back', 'unfamiliar', 'familiar', 'del']:
return 'You used a restricted word as the user name. Please come up with a better one.'
return 'OK'

View File

@ -1,5 +1,6 @@
from flask import *
from Login import check_username_availability, verify_user, add_user, get_expiry_date, change_password, UserName, WarningMessage
from Login import check_username_availability, verify_user, add_user, get_expiry_date, change_password, WarningMessage
# 初始化蓝图
accountService = Blueprint("accountService", __name__)