from email_validator import validate_email # type: ignore import email_validator import json from add_user import add_keycloak_user def process_emails( mail_address: str, blocked_user_file: str = "blocked_users.json", ) -> tuple[bool, str]: with open(blocked_user_file, "r") as file: blocked_users: dict = json.load(file) if (mail_address == "") or (mail_address is None): return False, "eMail address empty or missing." try: emailinfo = validate_email(mail_address, check_deliverability=False) mail_address = emailinfo.normalized except email_validator.exceptions_types.EmailSyntaxError: return False, f"{mail_address} -- eMail address failed validate_email (EmailSyntaxError)" except email_validator.exceptions_types.EmailNotValidError: return False, f"{mail_address} -- eMail address failed validate_email (EmailNotValidError)" for blocked_user in blocked_users["blocked_users"]: if mail_address == blocked_user: return False, f"{mail_address} -- eMail address is listed as blocked." return add_keycloak_user(mail_address)