← 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")"