Spaces:
Paused
Paused
Download scripts/regenerate-examples.sh from stremio-db/a: direct link, hf CLI and curl.
- Browser
- Download file 5.29 kB
-
https://huggingface.co/spaces/stremio-db/a/resolve/main/scripts/regenerate-examples.sh
- Command line
-
hf download hf://spaces/stremio-db/a/scripts/regenerate-examples.sh
-
curl -L -o regenerate-examples.sh https://huggingface.co/spaces/stremio-db/a/resolve/main/scripts/regenerate-examples.sh
5.29 kB
| set -euo pipefail | |
| BASE="${1:-http://localhost:3000}" | |
| KEY="t0-free-rpdb" | |
| OUT="$(dirname "$0")/../web/public/examples" | |
| declare -A POSTERS=( | |
| [namakura-gatana]=tt0438075 | |
| [nosferatu]=tt0013442 | |
| [metropolis]=tt0017136 | |
| [caligari]=tt0010323 | |
| [phantom]=tt0016220 | |
| [trip-to-moon]=tt0000417 | |
| [safety-last]=tt0014429 | |
| [the-general]=tt0017925 | |
| ) | |
| declare -A EPISODES=( | |
| [bonanza]=tt0529483 | |
| ) | |
| # --- Standard examples (no settings changes needed) --- | |
| echo "=== Posters ===" | |
| for name in "${!POSTERS[@]}"; do | |
| id="${POSTERS[$name]}" | |
| echo -n "poster: $name ($id)... " | |
| curl -sf "$BASE/$KEY/imdb/poster-default/$id.jpg" -o "$OUT/$name.jpg" | |
| echo "OK" | |
| done | |
| echo "=== Logos ===" | |
| for name in "${!POSTERS[@]}"; do | |
| id="${POSTERS[$name]}" | |
| echo -n "logo: $name ($id)... " | |
| if curl -sf "$BASE/$KEY/imdb/logo-default/$id.png" -o "$OUT/logo-$name.png"; then | |
| echo "OK" | |
| else | |
| rm -f "$OUT/logo-$name.png" | |
| echo "SKIP (not available)" | |
| fi | |
| done | |
| echo "=== Backdrops ===" | |
| for name in "${!POSTERS[@]}"; do | |
| id="${POSTERS[$name]}" | |
| echo -n "backdrop: $name ($id)... " | |
| if curl -sf "$BASE/$KEY/imdb/backdrop-default/$id.jpg" -o "$OUT/backdrop-$name.jpg"; then | |
| echo "OK" | |
| else | |
| rm -f "$OUT/backdrop-$name.jpg" | |
| echo "SKIP (not available)" | |
| fi | |
| done | |
| echo "=== Episodes ===" | |
| for name in "${!EPISODES[@]}"; do | |
| id="${EPISODES[$name]}" | |
| echo -n "episode: $name ($id)... " | |
| if curl -sf "$BASE/$KEY/imdb/episode-default/$id.jpg" -o "$OUT/episode-$name.jpg"; then | |
| echo "OK" | |
| else | |
| rm -f "$OUT/episode-$name.jpg" | |
| echo "SKIP (not available)" | |
| fi | |
| echo -n "episode: $name horizontal ($id)... " | |
| if curl -sf "$BASE/$KEY/imdb/episode-default/$id.jpg?badge_style=h" -o "$OUT/episode-$name-h.jpg"; then | |
| echo "OK" | |
| else | |
| rm -f "$OUT/episode-$name-h.jpg" | |
| echo "SKIP (not available)" | |
| fi | |
| echo -n "episode: $name blur ($id)... " | |
| if curl -sf "$BASE/$KEY/imdb/episode-default/$id.jpg?blur=true" -o "$OUT/episode-$name-blur.jpg"; then | |
| echo "OK" | |
| else | |
| rm -f "$OUT/episode-$name-blur.jpg" | |
| echo "SKIP (not available)" | |
| fi | |
| done | |
| # --- Preview images (use the preview endpoint with query params) --- | |
| echo "" | |
| echo "=== Preview Images ===" | |
| echo "These use the preview endpoint (no real movies needed)." | |
| echo -n "Enter full 64-character API key (or press Enter to skip): " | |
| read -r API_KEY | |
| if [[ -z "$API_KEY" ]]; then | |
| echo "Skipping preview images." | |
| exit 0 | |
| fi | |
| # Log in with the API key to get a JWT token | |
| LOGIN_RESPONSE=$(curl -sf -X POST "$BASE/api/auth/key-login" \ | |
| -H "Content-Type: application/json" \ | |
| -d "$(jq -n --arg k "$API_KEY" '{"api_key": $k}')" 2>&1) || { | |
| echo "ERROR: API key rejected. Check the key and that the server is running." | |
| exit 1 | |
| } | |
| JWT_TOKEN=$(echo "$LOGIN_RESPONSE" | jq -r '.token') | |
| if [[ -z "$JWT_TOKEN" || "$JWT_TOKEN" == "null" ]]; then | |
| echo "ERROR: Failed to obtain auth token." | |
| exit 1 | |
| fi | |
| AUTH=(-H "Authorization: Bearer $JWT_TOKEN") | |
| PREVIEW="$BASE/api/key/me/preview" | |
| echo "Authenticated." | |
| echo "" | |
| # Position variants | |
| echo "--- Positions ---" | |
| for pos in tl tc tr r bl bc br l; do | |
| echo -n "pos-$pos... " | |
| curl -sf "${AUTH[@]}" \ | |
| "$PREVIEW/poster?position=$pos" \ | |
| -o "$OUT/pos-$pos.jpg" | |
| echo "OK" | |
| done | |
| # Badge style variants | |
| echo "--- Badge Styles ---" | |
| for style in h v; do | |
| echo -n "style-$style... " | |
| curl -sf "${AUTH[@]}" \ | |
| "$PREVIEW/poster?badge_style=$style" \ | |
| -o "$OUT/style-$style.jpg" | |
| echo "OK" | |
| done | |
| # Label style variants | |
| echo "--- Label Styles ---" | |
| for label_val in i t o; do | |
| case "$label_val" in | |
| i) label_name="icon" ;; | |
| t) label_name="text" ;; | |
| o) label_name="official" ;; | |
| esac | |
| echo -n "label-$label_name... " | |
| curl -sf "${AUTH[@]}" \ | |
| "$PREVIEW/poster?label_style=$label_val" \ | |
| -o "$OUT/label-$label_name.jpg" | |
| echo "OK" | |
| done | |
| # Logo badge style variants | |
| echo "--- Logo Styles ---" | |
| for style in h v; do | |
| echo -n "logo-$style... " | |
| curl -sf "${AUTH[@]}" \ | |
| "$PREVIEW/logo?badge_style=$style" \ | |
| -o "$OUT/logo-$style.png" | |
| echo "OK" | |
| done | |
| # Backdrop badge style variants | |
| echo "--- Backdrop Styles ---" | |
| for style in h v; do | |
| echo -n "backdrop-$style... " | |
| curl -sf "${AUTH[@]}" \ | |
| "$PREVIEW/backdrop?badge_style=$style" \ | |
| -o "$OUT/backdrop-$style.jpg" | |
| echo "OK" | |
| done | |
| # Badge size variants for posters | |
| echo "--- Poster Badge Sizes ---" | |
| for size in xs s m l xl; do | |
| echo -n "size-poster-$size... " | |
| extra="" | |
| [[ "$size" == "l" || "$size" == "xl" ]] && extra="&ratings_limit=2" | |
| curl -sf "${AUTH[@]}" \ | |
| "$PREVIEW/poster?badge_size=$size$extra" \ | |
| -o "$OUT/size-poster-$size.jpg" | |
| echo "OK" | |
| done | |
| # Badge size variants for logos | |
| echo "--- Logo Badge Sizes ---" | |
| for size in xs s m l xl; do | |
| echo -n "size-logo-$size... " | |
| extra="" | |
| [[ "$size" == "l" || "$size" == "xl" ]] && extra="&ratings_limit=2" | |
| curl -sf "${AUTH[@]}" \ | |
| "$PREVIEW/logo?badge_size=$size$extra" \ | |
| -o "$OUT/size-logo-$size.png" | |
| echo "OK" | |
| done | |
| # Badge size variants for backdrops | |
| echo "--- Backdrop Badge Sizes ---" | |
| for size in xs s m l xl; do | |
| echo -n "size-backdrop-$size... " | |
| extra="" | |
| [[ "$size" == "l" || "$size" == "xl" ]] && extra="&ratings_limit=2" | |
| curl -sf "${AUTH[@]}" \ | |
| "$PREVIEW/backdrop?badge_size=$size$extra" \ | |
| -o "$OUT/size-backdrop-$size.jpg" | |
| echo "OK" | |
| done | |
| echo "" | |
| echo "Done!" | |