123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- from typing import Any, Callable
- from .config import Config
- from .loader_config import ConfigLoader
- """配置模块初始化文件
- 该模块负责初始化配置加载器,并提供获取配置的接口。
- """
- # 创建全局配置加载器实例
- config_loader = ConfigLoader()
- def get_config() -> Config:
- """获取配置实例
-
- Returns:
- Config: 配置实例
-
- Raises:
- RuntimeError: 配置加载失败时抛出
- """
- try:
- return config_loader._config
- except Exception as e:
- raise RuntimeError("获取配置失败") from e
- # 暴露配置实例
- config: Config = get_config()
- def get_config_value(key: str, default=None) -> Any:
- """获取配置值
-
- Args:
- key (str): 配置项key
- default (Any): 默认值
-
- Returns:
- Any: 配置项值
-
- Raises:
- RuntimeError: 配置加载失败时抛出
- """
- try:
- return config_loader.get(key, default)
- except Exception as e:
- raise RuntimeError(f"获取配置项{key}失败") from e
- def on_config_change(callback: Callable):
- """注册配置变更回调
-
- Args:
- callback (Callable): 配置变更回调函数
-
- Raises:
- RuntimeError: 回调注册失败时抛出
- """
- try:
- config_loader.on_config_change(callback)
- except Exception as e:
- raise RuntimeError("注册配置变更回调失败") from e
- __all__ = [
- 'Config', 'ConfigLoader', 'config', 'get_config', 'get_config_value',
- 'on_config_change'
- ]
|