Players get a fast TTL-backed homepage (local profile / Cloudflare D1) with dense UI polish; login unlocks /home without blocking on every OpenDota refresh. Co-authored-by: Cursor <cursoragent@cursor.com>
42 lines
1.3 KiB
Python
42 lines
1.3 KiB
Python
"""Launch serve_relations with STEAM_API_KEY / SESSION_SECRET from keyzoo env.
|
|
|
|
Maps KEYZOO_ASSET_SECRET_WEB_API_KEY / KEYZOO_ASSET_SECRET_SESSION_SECRET
|
|
when the plain names are unset. Does not print secret values.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
import os
|
|
import subprocess
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
ROOT = Path(__file__).resolve().parents[1]
|
|
|
|
|
|
def _map_env() -> None:
|
|
if not (os.environ.get("STEAM_API_KEY") or "").strip():
|
|
alt = (os.environ.get("KEYZOO_ASSET_SECRET_WEB_API_KEY") or "").strip()
|
|
if alt:
|
|
os.environ["STEAM_API_KEY"] = alt
|
|
if not (os.environ.get("SESSION_SECRET") or "").strip():
|
|
alt = (os.environ.get("KEYZOO_ASSET_SECRET_SESSION_SECRET") or "").strip()
|
|
if alt:
|
|
os.environ["SESSION_SECRET"] = alt
|
|
|
|
|
|
def main() -> int:
|
|
_map_env()
|
|
steam_ok = bool((os.environ.get("STEAM_API_KEY") or "").strip())
|
|
sess_ok = bool((os.environ.get("SESSION_SECRET") or "").strip())
|
|
print(f"steam_auth configured: steam={steam_ok} session={sess_ok}", flush=True)
|
|
if not steam_ok or not sess_ok:
|
|
print("missing STEAM_API_KEY or SESSION_SECRET", file=sys.stderr)
|
|
return 2
|
|
cmd = [sys.executable, "-u", str(ROOT / "web" / "serve_relations.py"), *sys.argv[1:]]
|
|
return subprocess.call(cmd, cwd=str(ROOT))
|
|
|
|
|
|
if __name__ == "__main__":
|
|
raise SystemExit(main())
|