modify: jwt 验证
This commit is contained in:
@@ -5,29 +5,34 @@ import os
|
||||
from module_bank import PythonToSQLite
|
||||
from typing import Callable
|
||||
|
||||
|
||||
# 检查是否在 PyInstaller 子进程中
|
||||
def is_pyinstaller_child():
|
||||
return len(sys.argv) > 1 and ('_child.py' in sys.argv[0] or sys.argv[1].isdigit())
|
||||
return len(sys.argv) > 1 and ("_child.py" in sys.argv[0] or sys.argv[1].isdigit())
|
||||
|
||||
|
||||
def parse_args():
|
||||
"""安全的参数解析函数"""
|
||||
if is_pyinstaller_child():
|
||||
# PyInstaller 子进程,使用默认参数
|
||||
return argparse.Namespace(config="config.toml")
|
||||
|
||||
parser = argparse.ArgumentParser(description="chongming 应用启动脚本")
|
||||
|
||||
parser = argparse.ArgumentParser(
|
||||
description="{{ cookiecutter.project_name }} 应用启动脚本"
|
||||
)
|
||||
parser.add_argument("--config", default="config.toml", help="配置文件路径")
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
args = parse_args()
|
||||
|
||||
|
||||
def init_module_bank(config):
|
||||
MODULE_BANK_PATH_LIST = config["production"]["module_system"]["path"]
|
||||
for module_path in MODULE_BANK_PATH_LIST:
|
||||
if os.path.exists(module_path) == False:
|
||||
raise ValueError(f"模块路径不存在: {module_path}")
|
||||
|
||||
|
||||
packer_list = [PythonToSQLite(module_path) for module_path in MODULE_BANK_PATH_LIST]
|
||||
for packer in packer_list:
|
||||
modules = packer.list_modules()
|
||||
@@ -35,15 +40,16 @@ def init_module_bank(config):
|
||||
print(f"{module['module_name']} {'[包]' if module['is_package'] else ''}")
|
||||
packer.install_importer()
|
||||
|
||||
|
||||
def launch(run_fun: Callable[[dict, dict], None], run_mode: str):
|
||||
|
||||
config = ConfigLoader(args.config)
|
||||
|
||||
|
||||
# 获取对应运行模式的配置
|
||||
default_config = config.get("default", {})
|
||||
run_mode = default_config.get("env", "development")
|
||||
app_config = config.get(run_mode, {})
|
||||
if run_mode == "production":
|
||||
init_module_bank(config)
|
||||
|
||||
|
||||
run_fun(app_config, default_config)
|
||||
|
||||
Reference in New Issue
Block a user