aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/hrc/config.py
diff options
context:
space:
mode:
author简律纯 <i@jyunko.cn>2024-06-28 11:33:07 +0800
committer简律纯 <i@jyunko.cn>2024-06-28 11:33:07 +0800
commit2827c09958aa6778e4499d34f5949d6f5677f2c6 (patch)
treef24a313500def2e24ebba91ec5ab41a99ff2f35d /hrc/config.py
parent0f74df0e709672118f06cec1c6fdd02ccfa31e63 (diff)
downloadHydroRollCore-2827c09958aa6778e4499d34f5949d6f5677f2c6.tar.gz
HydroRollCore-2827c09958aa6778e4499d34f5949d6f5677f2c6.zip
refactor: hrc.rules - > hrc.rule
Diffstat (limited to 'hrc/config.py')
-rw-r--r--hrc/config.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/hrc/config.py b/hrc/config.py
index e69de29..7db4efe 100644
--- a/hrc/config.py
+++ b/hrc/config.py
@@ -0,0 +1,28 @@
+from typing import Set, Union
+
+from pydantic import BaseModel, ConfigDict, DirectoryPath, Field
+
+class ConfigModel(BaseModel):
+ model_config = ConfigDict(extra="allow")
+
+ __config_name__: str = ""
+
+
+class LogConfig(ConfigModel):
+ level: Union[str, int] = "DEBUG"
+ verbose_exception: bool = False
+
+
+class CoreConfig(ConfigModel):
+ rules: Set[str] = Field(default_factory=set)
+ rule_dirs: Set[DirectoryPath] = Field(default_factory=set)
+ log: LogConfig = LogConfig()
+
+
+class RuleConfig(ConfigModel):
+ """rule configuration."""
+
+
+class MainConfig(ConfigModel):
+ core: CoreConfig = CoreConfig()
+ rule: RuleConfig = RuleConfig() \ No newline at end of file