diff --git a/Course3/Lab4/validations.py b/Course3/Lab4/validations.py index b18de65a2e..15fba0cd73 100644 --- a/Course3/Lab4/validations.py +++ b/Course3/Lab4/validations.py @@ -3,22 +3,29 @@ import re def validate_user(username, minlen): - """Checks if the received username matches the required conditions.""" + """Sprawdza, czy nazwa użytkownika spełnia wymagania.""" if type(username) != str: raise TypeError("username must be a string") if minlen < 1: raise ValueError("minlen must be at least 1") - - # Usernames can't be shorter than minlen + + # Zbyt krótka nazwa if len(username) < minlen: return False - # Usernames can only use letters, numbers, dots and underscores - if not re.match('^[a-z0-9._]*$', username): + + # Nie może zaczynać się od kropki, podkreślnika ani cyfry + if username[0] in '._' or username[0].isnumeric(): return False - # Usernames can't begin with a number - if username[0].isnumeric(): + + # Dozwolone tylko litery, cyfry, kropki i podkreślniki + if not re.match('^[a-zA-Z0-9._]+$', username): return False - return True + return True +# TESTY +print(validate_user("blue.kale", 3)) # True +print(validate_user(".blue.kale", 3)) # False +print(validate_user("red_quinoa", 4)) # True +print(validate_user("_red_quinoa", 4)) # False