Files
2026-06-24 14:40:43 +00:00

21 lines
764 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
BASE_URL="${BASE_URL:-http://localhost:8080}"
INPUT="${1:-examples/sample-report.json}"
OUT="${2:-output/all-themes}"
mkdir -p "$OUT"
mapfile -t THEMES < <(curl -fsS "$BASE_URL/themes" | python3 -c 'import json,sys; print("\\n".join(json.load(sys.stdin)["themes"]))')
for theme in "${THEMES[@]}"; do
tmp="$(mktemp)"
python3 - "$INPUT" "$theme" > "$tmp" <<'PY'
import json,sys
payload=json.load(open(sys.argv[1],encoding='utf-8'))
payload['design']['theme']=sys.argv[2]
payload['design'].pop('palette_mode',None)
json.dump(payload,sys.stdout,ensure_ascii=False)
PY
curl -fsS -X POST "$BASE_URL/render" -H 'Content-Type: application/json' --data-binary "@$tmp" -o "$OUT/$theme.pdf"
rm -f "$tmp"
echo "$theme.pdf"
done