fix quality code
This commit is contained in:
@@ -2,30 +2,35 @@ from typing import Any, Dict
|
||||
|
||||
from aiogram import BaseMiddleware
|
||||
from aiogram.types import TelegramObject
|
||||
|
||||
from helper_bot.utils.base_dependency_factory import get_global_instance
|
||||
from logs.custom_logger import logger
|
||||
|
||||
|
||||
class DependenciesMiddleware(BaseMiddleware):
|
||||
"""Универсальная middleware для внедрения зависимостей во все хендлеры"""
|
||||
|
||||
async def __call__(self, handler, event: TelegramObject, data: Dict[str, Any]) -> Any:
|
||||
|
||||
async def __call__(
|
||||
self, handler, event: TelegramObject, data: Dict[str, Any]
|
||||
) -> Any:
|
||||
try:
|
||||
# Получаем глобальные зависимости
|
||||
bdf = get_global_instance()
|
||||
|
||||
|
||||
# Внедряем зависимости в data для MagicData
|
||||
if 'bot_db' not in data:
|
||||
data['bot_db'] = bdf.get_db()
|
||||
if 'settings' not in data:
|
||||
data['settings'] = bdf.settings
|
||||
data['bot'] = data.get('bot')
|
||||
data['dp'] = data.get('dp')
|
||||
|
||||
logger.debug(f"DependenciesMiddleware: внедрены зависимости для {type(event).__name__}")
|
||||
|
||||
if "bot_db" not in data:
|
||||
data["bot_db"] = bdf.get_db()
|
||||
if "settings" not in data:
|
||||
data["settings"] = bdf.settings
|
||||
data["bot"] = data.get("bot")
|
||||
data["dp"] = data.get("dp")
|
||||
|
||||
logger.debug(
|
||||
f"DependenciesMiddleware: внедрены зависимости для {type(event).__name__}"
|
||||
)
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"Ошибка в DependenciesMiddleware: {e}")
|
||||
# Не прерываем выполнение, продолжаем без зависимостей
|
||||
|
||||
|
||||
return await handler(event, data)
|
||||
|
||||
Reference in New Issue
Block a user