/
liquid-g
/
liquid-code
Обзор
Документация
Войти
/
liquid-g
/
liquid-code
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop-0.4
src/liquidcode/kernel/controller_resolver.py
25 строк
1 KB
User
0.4.9 - переработка документации, рефакторинг кода, покрытие тестами 70%
06 июл 2026, 13:37
06 июл 2026, 13:37
79b2ebc
Код
Авторство
О чём код?
from typing import Callable, Tuple, Dict, Any from ..container import Container def resolve_controller( controller: Any, container: Container ) -> Tuple[Callable, Dict[str, Any]]: """ Создаёт экземпляр контроллера (если это класс) и возвращает вызываемый метод. Поддерживает: - Callable (функция или метод) → возвращает как есть - Tuple (класс, имя_метода) → создаёт экземпляр через DI и возвращает метод """ if isinstance(controller, tuple) and len(controller) == 2: controller_class, method_name = controller instance = container.get(controller_class) if not hasattr(instance, method_name): raise AttributeError( f"Метод {method_name} не найден в {controller_class.__name__}" ) return getattr(instance, method_name), {} else: return controller, {}