aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2024-11-11 01:12:29 +0800
committerYuqian Yang <crupest@crupest.life>2025-01-18 18:00:02 +0800
commit8aec96d57a109e13a6254c77261c74b949407b05 (patch)
tree1e5725fb3c53a1e254d7d9d2b10e587651010807
parent56139950094d6eae43bba6ce8a0b4ab7d063aa41 (diff)
downloadcrupest-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.py10
-rw-r--r--tools/cru-py/cru/service/_base.py9
-rw-r--r--tools/cru-py/cru/service/_config.py4
-rw-r--r--tools/cru-py/cru/service/_template.py6
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)