diff options
author | crupest <crupest@outlook.com> | 2024-11-11 01:12:29 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2025-01-18 18:00:02 +0800 |
commit | 8aec96d57a109e13a6254c77261c74b949407b05 (patch) | |
tree | 1e5725fb3c53a1e254d7d9d2b10e587651010807 | |
parent | 56139950094d6eae43bba6ce8a0b4ab7d063aa41 (diff) | |
download | crupest-8aec96d57a109e13a6254c77261c74b949407b05.tar.gz crupest-8aec96d57a109e13a6254c77261c74b949407b05.tar.bz2 crupest-8aec96d57a109e13a6254c77261c74b949407b05.zip |
HALF WORK: 2024.1.18 - 3
-rw-r--r-- | tools/cru-py/cru/service/_app.py | 10 | ||||
-rw-r--r-- | tools/cru-py/cru/service/_base.py | 9 | ||||
-rw-r--r-- | tools/cru-py/cru/service/_config.py | 4 | ||||
-rw-r--r-- | tools/cru-py/cru/service/_template.py | 6 |
4 files changed, 19 insertions, 10 deletions
diff --git a/tools/cru-py/cru/service/_app.py b/tools/cru-py/cru/service/_app.py index 9533b5c..d6f74dd 100644 --- a/tools/cru-py/cru/service/_app.py +++ b/tools/cru-py/cru/service/_app.py @@ -1,12 +1,18 @@ -from ._base import AppBase, CommandDispatcher, AppInitializer, PathCommandProvider, OWNER_NAME +from ._base import ( + AppBase, + CommandDispatcher, + AppInitializer, + PathCommandProvider, +) from ._config import ConfigManager from ._data import DataManager from ._template import TemplateManager +APP_ID = "crupest" class App(AppBase): def __init__(self): - super().__init__(f"{OWNER_NAME}-service") + super().__init__(APP_ID,f"{APP_ID}-service") self.add_feature(PathCommandProvider()) self.add_feature(AppInitializer()) self.add_feature(DataManager()) diff --git a/tools/cru-py/cru/service/_base.py b/tools/cru-py/cru/service/_base.py index 913455d..aecd7c9 100644 --- a/tools/cru-py/cru/service/_base.py +++ b/tools/cru-py/cru/service/_base.py @@ -11,8 +11,6 @@ from cru import CruException, CruLogicError, CruPath _Feature = TypeVar("_Feature", bound="AppFeatureProvider") -OWNER_NAME = "crupest" - class AppError(CruException): pass @@ -314,8 +312,9 @@ class AppBase: raise AppError("App instance not initialized") return AppBase._instance - def __init__(self, name: str): + def __init__(self, app_id: str, name: str): AppBase._instance = self + self._app_id = app_id self._name = name self._root = AppRootPath(self) self._paths: list[AppFeaturePath] = [] @@ -333,6 +332,10 @@ class AppBase: path.check_self() @property + def app_id(self) -> str: + return self._app_id + + @property def name(self) -> str: return self._name diff --git a/tools/cru-py/cru/service/_config.py b/tools/cru-py/cru/service/_config.py index 53cce28..eab33de 100644 --- a/tools/cru-py/cru/service/_config.py +++ b/tools/cru-py/cru/service/_config.py @@ -12,7 +12,7 @@ from cru.value import ( ) from cru.parsing import ParseError, SimpleLineConfigParser -from ._base import AppFeaturePath, AppCommandFeatureProvider, OWNER_NAME +from ._base import AppFeaturePath, AppCommandFeatureProvider class AppConfigError(CruException): @@ -178,7 +178,7 @@ class ConfigManager(AppCommandFeatureProvider): self._init_app_defined_items() def _init_app_defined_items(self) -> None: - prefix = OWNER_NAME.upper() + prefix = self.app.app_id.upper() def _add_text(name: str, description: str) -> None: self.configuration.add( diff --git a/tools/cru-py/cru/service/_template.py b/tools/cru-py/cru/service/_template.py index 6ab1e69..7d479df 100644 --- a/tools/cru-py/cru/service/_template.py +++ b/tools/cru-py/cru/service/_template.py @@ -3,14 +3,14 @@ from argparse import Namespace from cru import CruIterator from cru.template import TemplateTree -from ._base import AppCommandFeatureProvider, AppFeaturePath, OWNER_NAME +from ._base import AppCommandFeatureProvider, AppFeaturePath from ._config import ConfigManager class TemplateManager(AppCommandFeatureProvider): - def __init__(self, prefix: str = OWNER_NAME.upper()): + def __init__(self, prefix: str | None = None): super().__init__("template-manager") - self._prefix = prefix + self._prefix = prefix or self.app.app_id.upper() def setup(self) -> None: self._templates_dir = self.app.add_path("templates", True) |