- 7 大维度分析器: 节奏/可舞性/能量/情绪/调性/音色/音频质量 - 6 种场景配置: pop/classical/electronic/rock/jazz/hiphop - 4 个 API: scenes/dimensions/config/evaluate - 基于 librosa 的纯算法分析(CPU 即可运行) - nginx IP 白名单认证(无 RBAC)
38 lines
890 B
Python
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)")
|