diff options
Diffstat (limited to 'src/hydrorollcore/config.py')
| -rw-r--r-- | src/hydrorollcore/config.py | 77 |
1 files changed, 4 insertions, 73 deletions
diff --git a/src/hydrorollcore/config.py b/src/hydrorollcore/config.py index 4bee29df..c7697d15 100644 --- a/src/hydrorollcore/config.py +++ b/src/hydrorollcore/config.py @@ -1,76 +1,7 @@ -"""HydroRollCore 配置。 +from pydantic import BaseModel -HydroRollCore 使用 [pydantic](https://pydantic-docs.helpmanual.io/) 来读取配置。 -""" -from typing import Set, Union -from pydantic import Extra, Field, BaseModel, DirectoryPath +class Config(BaseModel): + rule_dir: list = [] + rules: list = [] -__all__ = [ - "ConfigModel", - "LogConfig", - "CoreConfig", - "RuleConfig", - "MainConfig", -] - - -class ConfigModel(BaseModel): - """HydroRollCore 配置模型。 - - Attributes: - __config_name__: 配置名称。 - """ - - __config_name__: str - - class Config: - extra = Extra.allow - - -class LogConfig(ConfigModel): - """HydroRollCore 日志相关设置。 - - Attributes: - level: 日志级别。 - verbose_exception: 详细的异常记录,设置为 True 时会在日志中添加异常的 Traceback。 - """ - - level: Union[str, int] = "DEBUG" - verbose_exception: bool = False - - -class CoreConfig(ConfigModel): - """Core 配置。 - - Attributes: - rules: 将被加载的规则书列表,将被 `Core` 类的 `load_rules()` 方法加载。 - rule_dirs: 将被加载的规则书目录列表,将被 `Core` 类的 `load_rules_from_dirs()` 方法加载。 - log: HydroRollCore 日志相关设置。 - """ - - rules: Set[str] = Field(default_factory=set) - rule_dirs: Set[DirectoryPath] = Field(default_factory=set) - log: LogConfig = LogConfig() # type: ignore - - -class RuleConfig(ConfigModel): - """规则书配置。""" - - -class DebugConfig(ConfigModel): - """是否打印事件配置。""" - - -class MainConfig(ConfigModel): - """HydroRollCore 配置。 - - Attributes: - core: HydroRollCore 的主要配置。 - """ - - core: CoreConfig = CoreConfig() # type: ignore - rule: RuleConfig = RuleConfig() # type: ignore - - class Config: - extra = Extra.allow
\ No newline at end of file |
