#!/usr/bin/env bash
set -euo pipefail

ROOT="/var/www/html/smn-api"
ZIPDIR="$ROOT/data/zip"
RAWDIR="$ROOT/data/raw"

mkdir -p "$ZIPDIR" "$RAWDIR/tiepre" "$RAWDIR/pron5d"

download_zip() {
  local name="$1"
  local url="$2"
  local out="$ZIPDIR/$name.zip"

  echo "SMN -> descargando $name..."

  curl -L \
    --fail \
    --connect-timeout 20 \
    --max-time 120 \
    --retry 2 \
    --retry-delay 5 \
    -H "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 Chrome/126 Safari/537.36" \
    -H "Accept: application/zip,application/octet-stream,*/*" \
    -H "Referer: https://www.smn.gob.ar/" \
    -o "$out" \
    "$url"

  echo "SMN -> archivo $name:"
  file "$out"

  if ! unzip -t "$out" >/dev/null 2>&1; then
    echo "ERROR: $name no es ZIP válido. Primeras líneas:"
    head -40 "$out"
    exit 1
  fi
}

download_zip "tiepre" "https://ssl.smn.gob.ar/dpd/zipopendata.php?dato=tiepre"
download_zip "pron5d" "https://ssl.smn.gob.ar/dpd/zipopendata.php?dato=pron5d"

echo "SMN -> extrayendo tiepre..."
rm -rf "$RAWDIR/tiepre/"*
unzip -o "$ZIPDIR/tiepre.zip" -d "$RAWDIR/tiepre" >/dev/null

echo "SMN -> extrayendo pron5d..."
rm -rf "$RAWDIR/pron5d/"*
unzip -o "$ZIPDIR/pron5d.zip" -d "$RAWDIR/pron5d" >/dev/null

echo "SMN -> parseando Cordoba Observatorio..."
php "$ROOT/parse_smn.php"

echo "OK -> $ROOT/data/smn_cordoba.json"
