From 24b5e32fae841a9a06fc1be9d5d0c2f77b9a6b7c Mon Sep 17 00:00:00 2001 From: Mike L Date: Wed, 1 Jan 2025 15:22:46 +0000 Subject: [PATCH] Closes: #1 Updated validations.py python script. Fixed the behavior of validate_user function in validations.py. --- Course3/Lab4/validations.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Course3/Lab4/validations.py b/Course3/Lab4/validations.py index b18de65a2e..780b6022aa 100644 --- a/Course3/Lab4/validations.py +++ b/Course3/Lab4/validations.py @@ -6,19 +6,36 @@ def validate_user(username, minlen): """Checks if the received username matches the required conditions.""" 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 if len(username) < minlen: return False + # Usernames can only use letters, numbers, dots and underscores if not re.match('^[a-z0-9._]*$', username): return False + # Usernames can't begin with a number if username[0].isnumeric(): return False + + if ' ' in username: + return False + + if username[0] in ['.', '_']: + return False + return True +print(validate_user("blue.kale", 3)) # True + +print(validate_user(".blue.kale", 3)) # Currently True, should be False + +print(validate_user("red_quinoa", 4)) # True + +print(validate_user("_red_quinoa", 4)) # Currently True, should be False