Spaces:
Sleeping
Sleeping
Commit ·
cb5d870
1
Parent(s): e92517a
Remove Supabase UI warnings; add startup diagnostic log
Browse files- blindtest/db.py +12 -1
- blindtest/ui.py +5 -16
blindtest/db.py
CHANGED
|
@@ -16,9 +16,20 @@ from typing import Any
|
|
| 16 |
|
| 17 |
try:
|
| 18 |
from supabase import Client, create_client
|
| 19 |
-
|
|
|
|
| 20 |
Client = None # type: ignore[assignment,misc]
|
| 21 |
create_client = None # type: ignore[assignment]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
|
| 23 |
|
| 24 |
@dataclass
|
|
|
|
| 16 |
|
| 17 |
try:
|
| 18 |
from supabase import Client, create_client
|
| 19 |
+
_import_error: str | None = None
|
| 20 |
+
except ImportError as _imp_exc: # pragma: no cover
|
| 21 |
Client = None # type: ignore[assignment,misc]
|
| 22 |
create_client = None # type: ignore[assignment]
|
| 23 |
+
_import_error = str(_imp_exc)
|
| 24 |
+
|
| 25 |
+
# Startup diagnostic — visible in HF Space logs.
|
| 26 |
+
_url_present = bool(os.getenv("SUPABASE_URL", "").strip())
|
| 27 |
+
_key_present = bool(os.getenv("SUPABASE_KEY", "").strip())
|
| 28 |
+
print(
|
| 29 |
+
f"[blindtest.db] supabase import={'ok' if create_client else 'FAIL: ' + str(_import_error)}"
|
| 30 |
+
f" | SUPABASE_URL={'set' if _url_present else 'MISSING'}"
|
| 31 |
+
f" | SUPABASE_KEY={'set' if _key_present else 'MISSING'}"
|
| 32 |
+
)
|
| 33 |
|
| 34 |
|
| 35 |
@dataclass
|
blindtest/ui.py
CHANGED
|
@@ -68,17 +68,10 @@ def build_blindtest_tab(
|
|
| 68 |
|
| 69 |
configured = db.is_configured()
|
| 70 |
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
"키를 설정하세요. UI는 동작하지만 제출 결과는 폐기됩니다."
|
| 76 |
-
)
|
| 77 |
-
else:
|
| 78 |
-
gr.Markdown(
|
| 79 |
-
"두 교정 결과 중 어느 쪽이 더 낫다고 느끼는지 익명으로 투표합니다. "
|
| 80 |
-
"라벨은 제출 후 공개됩니다."
|
| 81 |
-
)
|
| 82 |
|
| 83 |
# Hidden state: which config is in slot A (True = baseline, False = candidate)
|
| 84 |
slot_a_is_baseline = gr.State(True)
|
|
@@ -198,13 +191,9 @@ def build_blindtest_tab(
|
|
| 198 |
else:
|
| 199 |
label_a = candidate_config[0]
|
| 200 |
label_b = baseline_config[0]
|
| 201 |
-
err = db.last_error()
|
| 202 |
-
save_note = ""
|
| 203 |
-
if not saved:
|
| 204 |
-
save_note = f" _(저장 실패: {err})_" if err else " _(저장 안 됨 · Supabase 미설정)_"
|
| 205 |
reveal_md = (
|
| 206 |
f"**공개** — A: `{label_a}` · B: `{label_b}`\n\n"
|
| 207 |
-
f"선택: **{choice}**"
|
| 208 |
)
|
| 209 |
summary = _format_summary(db.fetch_summary(), db.fetch_vote_counts())
|
| 210 |
return gr.update(value=reveal_md), gr.update(value=summary)
|
|
|
|
| 68 |
|
| 69 |
configured = db.is_configured()
|
| 70 |
|
| 71 |
+
gr.Markdown(
|
| 72 |
+
"두 교정 결과 중 어느 쪽이 더 낫다고 느끼는지 익명으로 투표합니다. "
|
| 73 |
+
"라벨은 제출 후 공개됩니다."
|
| 74 |
+
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 75 |
|
| 76 |
# Hidden state: which config is in slot A (True = baseline, False = candidate)
|
| 77 |
slot_a_is_baseline = gr.State(True)
|
|
|
|
| 191 |
else:
|
| 192 |
label_a = candidate_config[0]
|
| 193 |
label_b = baseline_config[0]
|
|
|
|
|
|
|
|
|
|
|
|
|
| 194 |
reveal_md = (
|
| 195 |
f"**공개** — A: `{label_a}` · B: `{label_b}`\n\n"
|
| 196 |
+
f"선택: **{choice}**"
|
| 197 |
)
|
| 198 |
summary = _format_summary(db.fetch_summary(), db.fetch_vote_counts())
|
| 199 |
return gr.update(value=reveal_md), gr.update(value=summary)
|