Files
PrimoWorldsBot/BotLibrary/validators/email_valid.py
2025-04-13 06:50:23 +07:00

25 lines
1.0 KiB
Python

# BotLibrary/validators/email_validators.py
# Создание валидации почты для проекта
from typing import Optional
# Настройка экспорта из этого модуля
__all__ = ("valid_email",)
def valid_email(email: str) -> Optional[str]:
"""
Делает почтовый адрес корректным.
:param email: Почтовый адрес в виде строки.
:return: Нормализованный почтовый адрес, если он валиден, иначе None.
"""
from email_validator import validate_email, EmailNotValidError
try:
return validate_email(email).normalized
except EmailNotValidError as e:
# Импортируем Logs внутри функции, чтобы избежать циклического импорта
from ..loggers.logs import Logs
Logs.error(text=f"Ошибка в нормализировании почты: {e}", log_type="NormalEmail")
return None