songrate/scripts/load_path.py
yumoqing 44a2ac9bb7 feat: songrate 初始版本 - 音乐多维度评估系统
- 7 大维度分析器: 节奏/可舞性/能量/情绪/调性/音色/音频质量
- 6 种场景配置: pop/classical/electronic/rock/jazz/hiphop
- 4 个 API: scenes/dimensions/config/evaluate
- 基于 librosa 的纯算法分析(CPU 即可运行)
- nginx IP 白名单认证(无 RBAC)
2026-06-03 18:01:08 +08:00

38 lines
890 B
Python

"""load_path.py — 注册 API 路径到 RBAC (any 权限,由 nginx 做 IP 白名单)"""
import sys
import os
MOD = "songrate"
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..'))
from sqlor.dbpools import DBPools
from sqlor import sor
dbpools = DBPools()
dbname = dbpools.get_module_dbname(MOD)
if not dbname:
dbname = 'sage'
sor.init(dbpools.get_pool(dbname))
PATHS_ANY = [
f"/{MOD}",
f"/{MOD}/api/scenes.dspy",
f"/{MOD}/api/dimensions.dspy",
f"/{MOD}/api/evaluate.dspy",
f"/{MOD}/api/config.dspy",
]
for path in PATHS_ANY:
recs = sor.R("rolepermission", {"role": "any", "path": path})
if not recs:
sor.C("rolepermission", {
"role": "any",
"path": path,
})
print(f" + {path}")
else:
print(f" = {path}")
print(f"\nsongrate paths registered ({len(PATHS_ANY)} paths)")