| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- import enum
- from .user import user
- class user_validation_result(enum.Enum):
- VALID = 0
- NICK_TOO_SHORT = 1
- NICK_TOO_LONG = 2
- NICK_EMPTY = 3
- SECRET_NOT_SET = 4
- NICK_ALREADY_TAKEN = 5
- class user_validation_exception(BaseException):
- def __init__(self, target: user_validation_result):
- super().__init__("Exception when validate user: " + target.name)
- self.errors = target
- class user_validator:
- def __init__(self, target: user):
- self.__target = user.clone(target)
- @property
- def target(self) -> user:
- return self.__target
- @property
- def nick_validation_result(self) -> user_validation_result:
- return user_validator.validate_nick(self.target.nick)
-
- def validate_nick(target) -> user_validation_result:
- nick_length = len(target)
- if nick_length == 0:
- return user_validation_result.NICK_EMPTY
- if nick_length < 4:
- return user_validation_result.NICK_TOO_SHORT
- if nick_length > 20:
- return user_validation_result.NICK_TOO_LONG
- return user_validation_result.VALID
- @property
- def has_valid_nick(self) -> bool:
- return self.nick_validation_result == user_validation_result.VALID
- @property
- def secret_validation_result(self) -> user_validation_result:
- return user_validator.validate_secret(self.target.secret)
- def validate_secret(target) -> user_validation_result:
- if len(target) != 64:
- return user_validation_result.SECRET_NOT_SET
- return user_validation_result.VALID
- @property
- def has_valid_secret(self) -> bool:
- return self.secret_validation_result == user_validation_result.VALID
- @property
- def has_id(self) -> bool:
- return self.target.id is not None
-
-
|