← back to Tk 11331 Exec
fetch_held_images.sh
20 lines
#!/usr/bin/env bash
# TK-11331 D3b-heldreview — fetch Meilisearch images for the held numbers. Read-only HTTPS.
# KEY must be provided via MOMENTUM_MS_KEY env. Extracts image+series with grep (no interpreter eval).
set -euo pipefail
cd "$(dirname "$0")"
: "${MOMENTUM_MS_KEY:?set MOMENTUM_MS_KEY}"
HOST="https://ms-e886719d86e7-4256.sfo.meilisearch.io"
OUT="data/d3b-held-images.tsv"
: > "$OUT"
while IFS= read -r num; do
[ -z "$num" ] && continue
resp=$(curl -s -m 20 -X POST "$HOST/indexes/redesign-colors/search" \
-H "Authorization: Bearer $MOMENTUM_MS_KEY" -H "Content-Type: application/json" \
-d "{\"q\":\"$num\",\"limit\":5,\"attributesToRetrieve\":[\"number\",\"medium_image_url\",\"series\"]}")
img=$(printf '%s' "$resp" | grep -oE '"medium_image_url":"[^"]*"' | head -1 | sed 's/"medium_image_url":"//;s/"$//')
series=$(printf '%s' "$resp" | grep -oE '"series":"[^"]*"' | head -1 | sed 's/"series":"//;s/"$//')
printf '%s\t%s\t%s\n' "$num" "$img" "$series" >> "$OUT"
done < data/d3b-held-numbers.txt
echo "images: $(wc -l < "$OUT") lines, with-image: $(awk -F'\t' '$2!=""{c++}END{print c+0}' "$OUT")"