72 lines
1.7 KiB
Python
72 lines
1.7 KiB
Python
"""
|
|
核心模块初始化
|
|
|
|
本模块统一初始化和管理核心组件,包括:
|
|
- ModuleRegistry: 模块注册表
|
|
- CoreManager: 核心管理器
|
|
|
|
提供统一的接口来管理这些核心组件。
|
|
"""
|
|
from typing import Dict, Any, Callable
|
|
from app.core.module_registry import ModuleRegistry, registry
|
|
|
|
|
|
class CoreManager:
|
|
"""
|
|
核心管理器
|
|
|
|
统一管理所有核心组件,提供便捷的方法来初始化和注册模块。
|
|
|
|
属性:
|
|
registry: 模块注册表实例
|
|
"""
|
|
|
|
def __init__(self):
|
|
"""初始化核心管理器"""
|
|
self.registry = registry
|
|
|
|
def initialize_modules(self, modules: Dict[str, Any]):
|
|
"""
|
|
初始化并注册所有模块
|
|
|
|
Args:
|
|
modules: 模块字典,格式为 {模块名: 模块实例}
|
|
"""
|
|
for module_name, module_instance in modules.items():
|
|
self.registry.register_module(module_name, module_instance)
|
|
|
|
def register_action(
|
|
self,
|
|
action_name: str,
|
|
handler: Callable,
|
|
module_name: str = "default",
|
|
**kwargs
|
|
):
|
|
"""
|
|
便捷方法:注册操作
|
|
|
|
Args:
|
|
action_name: 操作名称
|
|
handler: 处理函数
|
|
module_name: 模块名称
|
|
**kwargs: 其他配置参数
|
|
"""
|
|
self.registry.register_action(
|
|
action_name=action_name,
|
|
handler=handler,
|
|
module_name=module_name,
|
|
**kwargs
|
|
)
|
|
|
|
|
|
# 全局核心管理器实例
|
|
# 在应用启动时使用此实例来注册模块和操作
|
|
core_manager = CoreManager()
|
|
|
|
# 导出常用类和函数
|
|
__all__ = [
|
|
'core_manager',
|
|
'ModuleRegistry',
|
|
'registry',
|
|
]
|