MarcoXL commited on
Commit
d83423b
·
1 Parent(s): 3613e77

viewer: 只读语义文案对齐、清理死状态、DB 路径多候选+启动校验

Browse files
Files changed (1) hide show
  1. app.py +16 -3
app.py CHANGED
@@ -33,9 +33,22 @@ PACKAGE = Path(os.environ.get("SETVL_PACKAGE", HERE / "package"))
33
  DATASET = os.environ.get("SETVL_DATASET", "").strip()
34
  HF_TOKEN = (os.environ.get("HF_TOKEN")
35
  or os.environ.get("HUGGING_FACE_HUB_TOKEN") or "").strip()
36
- DB = (Path(os.environ["SETVL_DB"]) if os.environ.get("SETVL_DB")
37
- else (HERE / "graph.sqlite" if (HERE / "graph.sqlite").exists()
38
- else PACKAGE / "graph.sqlite"))
 
 
 
 
 
 
 
 
 
 
 
 
 
39
 
40
  _TLS = threading.local()
41
 
 
33
  DATASET = os.environ.get("SETVL_DATASET", "").strip()
34
  HF_TOKEN = (os.environ.get("HF_TOKEN")
35
  or os.environ.get("HUGGING_FACE_HUB_TOKEN") or "").strip()
36
+ def _resolve_db() -> Path:
37
+ """按优先级找库:显式环境变量 > 同目录(容器里就在 /app)> space/ > package/。"""
38
+ if os.environ.get("SETVL_DB"):
39
+ return Path(os.environ["SETVL_DB"])
40
+ for cand in (HERE / "graph.sqlite", HERE / "space" / "graph.sqlite",
41
+ PACKAGE / "graph.sqlite"):
42
+ if cand.exists():
43
+ return cand
44
+ return PACKAGE / "graph.sqlite" # 供报错信息指向默认位置
45
+
46
+
47
+ DB = _resolve_db()
48
+ if not DB.exists(): # 启动即失败,不要拖到浏览到一半才炸
49
+ raise RuntimeError(
50
+ f"找不到数据库。已尝试 {HERE/'graph.sqlite'}、{HERE/'space'/'graph.sqlite'}、"
51
+ f"{PACKAGE/'graph.sqlite'};可用 SETVL_DB 指定。")
52
 
53
  _TLS = threading.local()
54