- 纯薄交互层,无数据表,调用 pipeline-service 引擎函数 - 6个dspy API(submit/list/detail/node/modify/control) - 4个UI页面(index/list/detail/submit) - pipeline_task.js 交互辅助函数 - load_path.py RBAC 权限注册 - 完整 README 文档
64 lines
1.6 KiB
Python
64 lines
1.6 KiB
Python
#!/usr/bin/env python3
|
|
"""pipeline_task 模块 RBAC 权限注册。"""
|
|
|
|
import os
|
|
import sys
|
|
import subprocess
|
|
|
|
SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
|
|
|
|
# Find Sage root
|
|
SAGE_ROOT = None
|
|
for candidate in [
|
|
os.path.join(SCRIPT_DIR, "..", ".."),
|
|
os.path.expanduser("~/repos/sage"),
|
|
os.path.expanduser("~/sage"),
|
|
os.path.expanduser("~/test/pipeline-app"),
|
|
]:
|
|
if os.path.isdir(os.path.join(candidate, "wwwroot")) and os.path.isdir(os.path.join(candidate, "py3")):
|
|
SAGE_ROOT = os.path.abspath(candidate)
|
|
break
|
|
|
|
if not SAGE_ROOT:
|
|
print("ERROR: Cannot find Sage/pipeline-app root directory")
|
|
sys.exit(1)
|
|
|
|
SET_ROLE_PERM = os.path.join(SAGE_ROOT, "set_role_perm.py")
|
|
PYTHON = os.path.join(SAGE_ROOT, "py3", "bin", "python")
|
|
|
|
MOD = "pipeline_task"
|
|
|
|
PATHS_LOGINED = [
|
|
f"/{MOD}/index.ui",
|
|
f"/{MOD}/task_list.ui",
|
|
f"/{MOD}/task_detail.ui",
|
|
f"/{MOD}/task_submit.ui",
|
|
f"/{MOD}/api/task_submit.dspy",
|
|
f"/{MOD}/api/task_list.dspy",
|
|
f"/{MOD}/api/task_detail.dspy",
|
|
f"/{MOD}/api/task_node.dspy",
|
|
f"/{MOD}/api/task_modify.dspy",
|
|
f"/{MOD}/api/task_control.dspy",
|
|
]
|
|
|
|
PATHS_ANY = [
|
|
f"/{MOD}/pipeline_task.js",
|
|
]
|
|
|
|
|
|
def register_paths():
|
|
for path in PATHS_ANY:
|
|
subprocess.run([PYTHON, SET_ROLE_PERM, "any", path], cwd=SAGE_ROOT)
|
|
print(f" any: {path}")
|
|
|
|
for path in PATHS_LOGINED:
|
|
subprocess.run([PYTHON, SET_ROLE_PERM, "logined", path], cwd=SAGE_ROOT)
|
|
print(f" logined: {path}")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
print(f"=== pipeline_task RBAC registration ===")
|
|
print(f"Root: {SAGE_ROOT}")
|
|
register_paths()
|
|
print("Done.")
|