Build Pigway Frame Flow with bilingual UI, complete KoKonna driver and safe automation
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
"""Start a loopback-only demo. Generate a private .env if absent; no cloud writes."""
|
||||
|
||||
import os
|
||||
import secrets
|
||||
import subprocess
|
||||
import sys
|
||||
from datetime import UTC, datetime
|
||||
from pathlib import Path
|
||||
|
||||
import uvicorn
|
||||
|
||||
root = Path(__file__).resolve().parents[1]
|
||||
sys.path.insert(0, str(root))
|
||||
env = root / ".env"
|
||||
if not env.exists():
|
||||
text = (
|
||||
(root / ".env.example")
|
||||
.read_text()
|
||||
.replace(
|
||||
"FRAME_FLOW_TOKEN=\n",
|
||||
"FRAME_FLOW_TOKEN=" + secrets.token_urlsafe(32) + "\n",
|
||||
)
|
||||
)
|
||||
env.write_text(text)
|
||||
env.chmod(0o600)
|
||||
for line in env.read_text().splitlines():
|
||||
if "=" in line and not line.startswith("#"):
|
||||
key, value = line.split("=", 1)
|
||||
os.environ.setdefault(key, value)
|
||||
os.environ["DATA_DIR"] = str(root / "data")
|
||||
os.environ["CONFIG_DIR"] = str(root / "config")
|
||||
os.environ["KOKONNA_MOCK"] = "true"
|
||||
os.environ["KOKONNA_WRITE_ENABLED"] = "false"
|
||||
os.environ["BUILD_COMMIT"] = (
|
||||
subprocess.run(
|
||||
["git", "rev-parse", "HEAD"], cwd=root, capture_output=True, text=True
|
||||
).stdout.strip()
|
||||
or "development"
|
||||
)
|
||||
|
||||
os.environ["BUILD_TIME"] = datetime.now(UTC).isoformat()
|
||||
uvicorn.run(
|
||||
"pigway_frame_flow.main:app", host="127.0.0.1", port=18787, access_log=False
|
||||
)
|
||||
Reference in New Issue
Block a user