Initial YakPanel commit
This commit is contained in:
47
class_v2/projectModelV2/common/base.py
Normal file
47
class_v2/projectModelV2/common/base.py
Normal file
@@ -0,0 +1,47 @@
|
||||
from typing import Optional
|
||||
|
||||
|
||||
class BaseProjectCommon:
|
||||
setup_path = "/www/server/panel"
|
||||
_allow_mod_name = {
|
||||
"go", "java", "net", "nodejs", "other", "python", "proxy",
|
||||
}
|
||||
|
||||
def get_project_mod_type(self) -> Optional[str]:
|
||||
_mod_name = self.__class__.__module__
|
||||
|
||||
# "projectModel/javaModel.py" 的格式
|
||||
if "/" in _mod_name:
|
||||
_mod_name = _mod_name.replace("/", ".")
|
||||
if _mod_name.endswith(".py"):
|
||||
mod_name = _mod_name[:-3]
|
||||
else:
|
||||
mod_name = _mod_name
|
||||
|
||||
# "projectModel.javaModel" 的格式
|
||||
if "." in mod_name:
|
||||
mod_name = mod_name.rsplit(".", 1)[1]
|
||||
|
||||
if mod_name.endswith("Model"):
|
||||
return mod_name[:-5]
|
||||
if mod_name in self._allow_mod_name:
|
||||
return mod_name
|
||||
return None
|
||||
|
||||
@property
|
||||
def config_prefix(self) -> Optional[str]:
|
||||
if getattr(self, "_config_prefix_cache", None) is not None:
|
||||
return getattr(self, "_config_prefix_cache")
|
||||
p_name = self.get_project_mod_type()
|
||||
if p_name == "nodejs":
|
||||
p_name = "node"
|
||||
|
||||
if isinstance(p_name, str):
|
||||
p_name = p_name + "_"
|
||||
|
||||
setattr(self, "_config_prefix_cache", p_name)
|
||||
return p_name
|
||||
|
||||
@config_prefix.setter
|
||||
def config_prefix(self, prefix: str):
|
||||
setattr(self, "_config_prefix_cache", prefix)
|
||||
Reference in New Issue
Block a user