3.0 Выпуск в PrimoRU
This commit is contained in:
@@ -2,13 +2,10 @@
|
||||
# Создание валидации почты для проекта
|
||||
|
||||
from typing import Optional
|
||||
from email_validator import validate_email, EmailNotValidError
|
||||
|
||||
# Настройка экспорта из этого модуля
|
||||
__all__ = ("valid_email",)
|
||||
|
||||
|
||||
# Функция проверки почты на корректность
|
||||
def valid_email(email: str) -> Optional[str]:
|
||||
"""
|
||||
Делает почтовый адрес корректным.
|
||||
@@ -16,10 +13,12 @@ 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.custom_loggers import Logs
|
||||
from ..loggers.logs import Logs
|
||||
Logs.error(text=f"Ошибка в нормализировании почты: {e}", log_type="NormalEmail")
|
||||
return None
|
||||
return None
|
||||
|
||||
@@ -13,8 +13,9 @@ async def normal_words(word: str) -> str:
|
||||
"""
|
||||
try:
|
||||
return word.lower().capitalize()
|
||||
|
||||
except Exception as e:
|
||||
# Импортируем Logs внутри функции, чтобы избежать циклического импорта
|
||||
from ..loggers.custom_loggers import Logs
|
||||
from ..loggers.logs import Logs
|
||||
Logs.error(text=f"Ошибка в нормализировании слова: {e}", log_type="NormalWord")
|
||||
return word
|
||||
@@ -1,13 +1,9 @@
|
||||
# BotLibrary/validators/url_valid.py
|
||||
# Валидатор ссылок на регулярных выражениях
|
||||
|
||||
import re
|
||||
|
||||
# Настройка экспорта из этого модуля
|
||||
__all__ = ("valid_url", "url_to_text")
|
||||
|
||||
|
||||
# Функция определения является ли строка ссылкой
|
||||
def valid_url(url: str) -> bool:
|
||||
"""
|
||||
Проверяет, является ли строка валидной ссылкой (URL).
|
||||
@@ -15,7 +11,8 @@ def valid_url(url: str) -> bool:
|
||||
:param url: Строка для проверки.
|
||||
:return: True, если строка является валидным URL, иначе False.
|
||||
"""
|
||||
url_pattern = re.compile(
|
||||
from re import compile
|
||||
url_pattern = compile(
|
||||
r'^(https?://)?' # Протокол (http или https, необязателен)
|
||||
r'([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}' # Домен
|
||||
r'(:\d+)?' # Порт (необязателен)
|
||||
@@ -24,7 +21,6 @@ def valid_url(url: str) -> bool:
|
||||
return bool(url_pattern.match(url))
|
||||
|
||||
|
||||
# Функция, что дает тексту ссылку на HTML
|
||||
def url_to_text(text: str, url: str) -> str:
|
||||
"""
|
||||
Преобразует текст в HTML ссылку с указанным URL.
|
||||
@@ -45,7 +41,7 @@ def url_to_text(text: str, url: str) -> str:
|
||||
|
||||
except ValueError as e:
|
||||
# Импортируем Logs внутри функции, чтобы избежать циклического импорта
|
||||
from ..loggers.custom_loggers import Logs
|
||||
from ..loggers.logs import Logs
|
||||
# Логируем ошибку с использованием Logs.error, как указано
|
||||
Logs.error(text=f"Ошибка при создании ссылки: {e}", log_type="InvalidURL")
|
||||
raise e # Перебрасываем ошибку выше для дальнейшей обработки или уведомления
|
||||
@@ -7,7 +7,6 @@ from aiogram.types import Message
|
||||
__all__ = ("username", "username_to_text")
|
||||
|
||||
|
||||
# Функция получения юзера или ID пользователя
|
||||
def username(message: Message) -> str:
|
||||
"""
|
||||
Возвращает юзернейм пользователя из сообщения, или ID, если юзернейм не указан.
|
||||
@@ -26,7 +25,6 @@ def username(message: Message) -> str:
|
||||
raise e # Перебрасываем ошибку выше для дальнейшей обработки
|
||||
|
||||
|
||||
# Функция получение имени пользователя + ссылка на него
|
||||
def username_to_text(message: Message) -> str:
|
||||
"""
|
||||
Преобразует информацию о пользователе в строку с HTML-ссылкой.
|
||||
|
||||
Reference in New Issue
Block a user