"""W-K: 마트(S8/S19/S20)·옥탑방 내부(S5/S14/S18/S25) 스틸 redo — 커밋 금지.

새 W-K plate(같은 장소 체이닝) 반영 재생성. force 완료 후 실행.
"""
import sys
import time

import requests

BASE = "http://localhost:8000"
PID = "b0ad5c18-5140-4022-a2b0-805de0e5a385"
TARGETS = [
    ("S5sh3", "1bf4cdf2-1ff9-45dd-a696-a668ab85b97c"),
    ("S8sh1", "736c91b0-fe57-4c67-af57-8fa51f0b8090"),
    ("S8sh3", "c59f7529-1275-4689-a057-a56259ceab8d"),
    ("S8sh6", "530c8cc5-84fb-4044-a553-5503398f1dc1"),
    ("S14sh4", "c6eec5a7-5066-41a7-8c2a-19d02390d95d"),
    ("S18sh6", "16171db3-771d-4af6-8e55-ddcdaba1c40b"),
    ("S19sh4", "d8646357-d11d-4cba-836b-eb9ce30981d5"),
    ("S19sh5", "5b2fd238-ef50-4d97-939c-65db9fe8e65a"),
    ("S20sh1", "e2284f3f-aad0-47e9-9003-f79cdc416da9"),
    ("S20sh4", "951b1a53-0ebd-4e35-ae36-893507d5bc23"),
    ("S25sh4", "c263560a-adb6-4248-8d3a-8cb4454620e1"),
]
s = requests.Session()
r = s.post(f"{BASE}/api/v1/auth/login",
           json={"username": "admin", "password": "admin123"}, timeout=30)
r.raise_for_status()
print("[login] ok", flush=True)
only = sys.argv[1] if len(sys.argv) > 1 else None
for tag, sid in TARGETS:
    if only and only != tag:
        continue
    t0 = time.time()
    try:
        r = s.post(
            f"{BASE}/api/v1/projects/{PID}/stills/{sid}/generate-image",
            json={}, timeout=900)
        print(f"[{tag}] {r.status_code} {time.time()-t0:.0f}s "
              f"{r.text[:200]}", flush=True)
    except Exception as exc:
        print(f"[{tag}] EXC {exc}", flush=True)
print("[done]", flush=True)
