pipeline-task/scripts/load_path.py
yumoqing 50a38e15e1 feat: pipeline-task 交互模块初始版本
- 纯薄交互层,无数据表,调用 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 文档
2026-06-11 17:36:37 +08:00

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.")