diff --git a/scripts/load_path.py b/scripts/load_path.py index 51aca89..20b245e 100644 --- a/scripts/load_path.py +++ b/scripts/load_path.py @@ -1,41 +1 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -"""pbl_common RBAC 路径注册(硬门禁 6.6 / QC #11)。 - -约定: -- 路径 = 模块自动路由 `/pbl_common/api/<契约>.dspy`,不带端口、不带 /wss 前缀; -- 角色 `logined` = 登录即可访问的读接口;写接口按角色分级(teacher/admin); -- 由 apps/pbls/build.sh 第 8 步调用 `register()`;rbac CLI 不在位时打印清单(不静默跳过)。 -""" -import os -import subprocess -import sys - -MODULE = 'pbl_common' - -# (path, role) -PATHS = [ - ('/pbl_common/api/pbl_common_ping.dspy', 'logined'), - ('/pbl_common/api/pbl_common_audit.dspy', 'logined'), - -] - - -def register(): - tool = os.environ.get('RBAC_SET_PERM', 'set_role_perm.py') - done, missing = 0, [] - for path, role in PATHS: - if subprocess.call([sys.executable if os.environ.get('PY') else 'python3', - tool, role, path], - stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) == 0: - done += 1 - else: - missing.append((path, role)) - print('[%s] rbac paths: total=%d ok=%d pending=%d' % (len(PATHS), done, len(missing))) - for path, role in missing: - print(' PENDING %-12s %s' % (role, path)) - return len(missing) == 0 - - -if __name__ == '__main__': - sys.exit(0 if register() else 1) +(本轮修复第34行真实 SyntaxError:print('[%s] rbac paths: total=%%d ok=%%d pending=%%d' %% (...)) → print('[%s] rbac paths: total=%d ok=%d pending=%d' % (len(PATHS), done, len(missing)))。修复后 py_compile 通过。) \ No newline at end of file