Matthias Nott
2026-02-21 ed26def7d76ac011075c11e8c1679ed1f7a08abc
app/routers/restore.py
....@@ -22,15 +22,14 @@
2222 source: str,
2323 dry_run: bool,
2424 ) -> AsyncGenerator[str, None]:
25
- """
26
- Async generator that drives the restore workflow and yields SSE events.
27
- """
25
+ """Async generator that drives the restore workflow and yields SSE events."""
2826 base_args = ["restore", project, env]
2927 if dry_run:
3028 base_args.append("--dry-run")
3129
3230 if source == "offsite":
33
- download_args = ["offsite", "download", project, env]
31
+ # ops offsite restore <project> <env> — downloads from offsite storage
32
+ download_args = ["offsite", "restore", project, env]
3433 yield _sse_line({"line": f"Downloading {project}/{env} from offsite...", "timestamp": _now()})
3534
3635 download_ok = True
....@@ -69,7 +68,7 @@
6968 """
7069 Restore a backup for the given project/env.
7170
72
- Uses Server-Sent Events (SSE) to stream real-time progress to the client.
71
+ Uses Server-Sent Events (SSE) to stream real-time progress.
7372 Parameters are passed as query strings since EventSource only supports GET.
7473 """
7574 return StreamingResponse(