generate outside generated
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
buenosairesam
2026-01-21 23:26:47 -03:00
parent 423909d391
commit 6e18324a43
4 changed files with 2 additions and 69 deletions

View File

@@ -32,7 +32,7 @@ python build.py --all # -> all rooms
./ctrl/logs.sh <room> # View logs ./ctrl/logs.sh <room> # View logs
# Bare-metal dev (without Docker) # Bare-metal dev (without Docker)
cd gen/standalone && .venv/bin/python run.py cd gen/standalone && python run.py
``` ```
## Adding a New Room ## Adding a New Room
@@ -48,4 +48,4 @@ python build.py --cfg myroom
cd gen/myroom/soleprint && docker compose up cd gen/myroom/soleprint && docker compose up
``` ```
Or use the generation UI at `/generate`. Or use the generation UI: `python -m http.server 8080` in `spr/` and visit `/generate.html`.

View File

@@ -280,7 +280,6 @@ def build_soleprint(output_dir: Path, room: str):
"main.py", "main.py",
"run.py", "run.py",
"index.html", "index.html",
"generate.html",
"requirements.txt", "requirements.txt",
"Dockerfile", "Dockerfile",
]: ]:

View File

@@ -296,72 +296,6 @@ def station_route(path: str):
return {"system": "station", "path": path} return {"system": "station", "path": path}
# === Generate ===
@app.get("/generate")
def generate_ui():
"""Serve the generation UI."""
from fastapi.responses import FileResponse
return FileResponse(SPR_ROOT / "generate.html")
@app.post("/api/generate")
def generate_config(req: dict):
"""Generate a config.json for a new room."""
config = load_config()
hub_port = config.get("framework", {}).get("hub_port", 12000)
framework = req.get("framework", {})
systems = req.get("systems", {})
managed = req.get("managed")
result = {
"framework": {
"name": framework.get("name", "soleprint"),
"slug": framework.get("name", "soleprint").lower().replace(" ", "-"),
"version": "0.1.0",
"hub_port": hub_port,
},
"systems": [
{
"key": "data_flow",
"name": systems.get("artery", "artery"),
},
{
"key": "documentation",
"name": systems.get("atlas", "atlas"),
},
{
"key": "execution",
"name": systems.get("station", "station"),
},
],
}
if managed and managed.get("name"):
result["managed"] = {"name": managed["name"], "repos": managed.get("repos", {})}
return {"config": result, "room_name": req.get("room_name")}
@app.post("/api/generate/preview")
def generate_preview(req: dict):
"""Preview the generated folder structure."""
room = req.get("room_name") or "room"
fw = req.get("framework", {}).get("name") or "soleprint"
managed = req.get("managed")
lines = [f'<span class="folder">gen/{room}/</span>']
if managed and managed.get("name"):
lines.append(f' <span class="folder">{managed["name"]}/</span>')
lines.append(' <span class="folder">link/</span>')
lines.append(f' <span class="folder">{fw}/</span>')
return {"tree": "\n".join(lines)}
# === Main === # === Main ===