#!/bin/bash
RUTA_GOES="/mnt/goes/IMAGES/GOES-19/Full Disk"
[ ! -d "$RUTA_GOES" ] && RUTA_GOES="/var/www/html/goes/IMAGES/GOES-19/Full Disk"

CARPETA_SALIDA="/mnt/goes"
[ ! -d "$CARPETA_SALIDA" ] && CARPETA_SALIDA="/var/www/html/goes"

LISTA_CALIDAD="/mnt/goes/lista_falsecolor_calidad.json"
TMP_DIR="/tmp/procesar_gif"
rm -rf "$TMP_DIR" && mkdir -p "$TMP_DIR"

echo "Buscando pases completos para GIF..."

python3 <<'PY'
import json, os, shutil, sys

tmp = "/tmp/procesar_gif"
lista_path = "/mnt/goes/lista_falsecolor_calidad.json"
urls = []
if os.path.isfile(lista_path):
    urls = json.load(open(lista_path, encoding="utf-8"))

if not urls:
  # fallback: últimos 48 sin filtro
    base = "/mnt/goes/IMAGES/GOES-19/Full Disk"
    if not os.path.isdir(base):
        base = "/var/www/html/goes/IMAGES/GOES-19/Full Disk"
    import glob
    imgs = sorted(glob.glob(os.path.join(base, "*", "abi_rgb_ABI_False_Color_map.png")))[-48:]
    urls = ["/goes/IMAGES/GOES-19/Full Disk/" + os.path.basename(os.path.dirname(p)) + "/abi_rgb_ABI_False_Color_map.png" for p in imgs]

conta = 0
for url in urls:
    ruta = url.replace("/goes/", "/mnt/goes/").replace("%20", " ")
    if not os.path.isfile(ruta):
        ruta = url.replace("/goes/", "/var/www/html/goes/").replace("%20", " ")
    if not os.path.isfile(ruta):
        continue
    conta += 1
    shutil.copy2(ruta, os.path.join(tmp, f"{conta:02d}.png"))

print(conta)
PY

CONTA=$(ls -1 "$TMP_DIR"/*.png 2>/dev/null | wc -l)

if [ "$CONTA" -gt 0 ]; then
    echo "Redimensionando $CONTA cuadros..."
    mogrify -resize 600x600 "$TMP_DIR"/*.png
    convert -delay 25 -loop 0 "$TMP_DIR"/*.png "$CARPETA_SALIDA/animacion_24h.gif"
    chmod 644 "$CARPETA_SALIDA/animacion_24h.gif"
    echo "GIF generado ($CONTA pases completos)."
else
    echo "Error: no hay fotogramas válidos."
fi

rm -rf "$TMP_DIR"
