cosmin1769's picture
Upload 124 files
21ff07a verified
import random
import re
import string
from datetime import datetime,timedelta
def validate_email(email:str)->bool:
pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
return re.match(pattern,email) is not None
def validate_password(password:str)->tuple[bool,str]:
if len(password)<8:
return False,"Password must be at least 8 characters long."
if not re.search(r'[A-Z]',password):
return False,"Password must contain at least one uppercase letter."
if not re.search(r'[a-z]',password):
return False,"Password must contain at least one lowercase letter."
if not re.search(r'[0-9]',password):
return False,"Password must contain at least one digit."
return True,""
def generate_code()->str:
return ''.join(random.choices(string.digits,k=6))
def is_code_expired(expires_at:datetime)->bool:
return datetime.utcnow()>expires_at