def is_valid_clan_tag(self, clan_tag): if len(clan_tag) > 4: return False try: ascii_bytes = clan_tag.encode('ascii') except UnicodeError: return False if not utils.is_valid_ascii_for_name(ascii_bytes): return False return True
def validate_username(self, username): if len(username) < Player.min_name_length: return 'User name is too short, min length is %d characters.' % Player.min_name_length if len(username) > Player.max_name_length: return 'User name is too long, max length is %d characters.' % Player.max_name_length try: ascii_bytes = username.encode('ascii') except UnicodeError: return 'User name contains invalid (i.e. non-ascii) characters' if not utils.is_valid_ascii_for_name(ascii_bytes): return 'User name contains invalid characters' return None