world_sync/scripts/load_path.py

42 lines
1.6 KiB
Python

#!/usr/bin/env python3
import os, sys
MODULE = 'world_sync'
PATHS_ANY = [f'/{MODULE}']
PATHS_LOGINED = [
f'/{MODULE}', f'/{MODULE}/index.ui', f'/{MODULE}/sync_form.ui',
f'/{MODULE}/world_sync', f'/{MODULE}/world_sync/index.ui',
f'/{MODULE}/world_sync/get_world_sync.dspy', f'/{MODULE}/world_sync/add_world_sync.dspy',
f'/{MODULE}/world_sync/update_world_sync.dspy', f'/{MODULE}/world_sync/delete_world_sync.dspy',
f'/{MODULE}/api/world_sync.dspy', f'/{MODULE}/api/create_world_sync.dspy',
f'/{MODULE}/api/world_sync_update.dspy', f'/{MODULE}/api/world_sync_delete.dspy',
f'/{MODULE}/api/get_search_world_id.dspy', f'/{MODULE}/api/get_search_sync_type.dspy',
f'/{MODULE}/api/get_search_sync_status.dspy',
]
def _find_sage_root():
for c in [os.path.expanduser('~/repos/sage'), os.path.expanduser('~/sage'), '/d/ymq/repos/sage']:
if os.path.isdir(os.path.join(c, 'wwwroot')) and os.path.isdir(os.path.join(c, 'py3', 'bin')):
return c
return None
def main():
root = _find_sage_root()
if not root:
print('[world_sync] 未找到 Sage 根目录,跳过(请确认中央 load_path.py 已登记)')
return
sys.path.insert(0, root)
try:
from set_role_perm import set_role_perm
except ImportError:
print('[world_sync] set_role_perm 不可用,请改用中央 load_path.py')
return
for p in PATHS_ANY:
set_role_perm(p, 'any')
for p in PATHS_LOGINED:
set_role_perm(p, 'logined')
print(f'[world_sync] 已注册 {len(PATHS_ANY)+len(PATHS_LOGINED)} 条 RBAC 路径')
if __name__ == '__main__':
main()