diff --git a/mod_basic.py b/mod_basic.py index fb9b413..4175474 100644 --- a/mod_basic.py +++ b/mod_basic.py @@ -18,6 +18,8 @@ from .setup import P class ModuleBasic(PluginModuleBase): + template_prefix = "linkkf" + def __init__(self, P): super(ModuleBasic, self).__init__(P, name="main") default_route_socketio_module(self) @@ -74,7 +76,7 @@ class ModuleBasic(PluginModuleBase): arg = self.P.ModelSetting.to_dict() if self.P.ModelSetting is not None else {} arg["package_name"] = self.P.package_name arg["sub"] = sub - arg["template_name"] = f"{self.P.package_name}_{sub}" + arg["template_name"] = f"{self.template_prefix}_{sub}" if sub == "setting": arg["scheduler"] = str(F.scheduler.is_include(self.P.package_name)) @@ -86,7 +88,7 @@ class ModuleBasic(PluginModuleBase): else "" ) - return render_template(f"{self.P.package_name}_{sub}.html", arg=arg) + return render_template(f"{self.template_prefix}_{sub}.html", arg=arg) def process_ajax(self, sub, req): try: diff --git a/setup.py b/setup.py index 2897f13..102eb70 100644 --- a/setup.py +++ b/setup.py @@ -33,6 +33,21 @@ def _get_declared_package_name(): return os.path.basename(os.path.dirname(__file__)) +def _sync_runtime_package_metadata(): + runtime_package_name = _get_runtime_package_name() + info_path = os.path.join(os.path.dirname(__file__), "info.yaml") + try: + with open(info_path, encoding="utf-8") as file: + info = yaml.safe_load(file) or {} + if str(info.get("package_name", "")).strip() != runtime_package_name: + info["package_name"] = runtime_package_name + with open(info_path, "w", encoding="utf-8") as file: + yaml.safe_dump(info, file, allow_unicode=True, sort_keys=False) + except Exception: + pass + return runtime_package_name + + def ensure_sqlalchemy_bind(package_name=None): package_name = package_name or _get_declared_package_name() runtime_package_name = _get_runtime_package_name() @@ -84,13 +99,15 @@ def _ensure_requirements(): subprocess.check_call([sys.executable, "-m", "pip", "install", *missing]) +runtime_package_name = _sync_runtime_package_metadata() + setting = { "filepath": __file__, "use_db": True, "use_default_setting": True, "home_module": "category", "menu": { - "uri": __package__, + "uri": runtime_package_name, "name": "linkkf", "list": [ {"uri": "setting", "name": "설정"},