#!/usr/bin/env bash
# sync_audios.sh — Regenera todos los audios y el podcast.xml
#
# Uso manual:
#   bash scripts/sync_audios.sh
#
# Cron diario a las 03:00 (edita con: crontab -e):
#   0 3 * * * /home/tatvil/trabajo/oposiciones/taiage-spring/scripts/sync_audios.sh >> /var/log/taiage-audios.log 2>&1
#
# Variables de entorno opcionales:
#   TAIAGE_BASE_URL  — URL pública (default: https://taiage.tatvil.es)
#   PYTHON           — ruta al intérprete Python (default: python3)

set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
PYTHON="/home/tatiana/desarrollo/html/taiage-spring/.venv/bin/python3"
#PYTHON="${PYTHON:-python3}"
LOG_PREFIX="[$(date '+%Y-%m-%d %H:%M:%S')]"

echo "$LOG_PREFIX ── sync_audios.sh iniciado ──────────────────────────"
cd "$PROJECT_DIR"

# ── 1. Limpiar ficheros .temp.mp3 huérfanos ────────────────────────────
echo "$LOG_PREFIX Limpiando ficheros temporales huérfanos..."
find src/main/resources/static/audios -name "*.temp.mp3" -delete && echo "$LOG_PREFIX   OK"

# ── 2. Convertir temas (*_audio.md → .mp3) ────────────────────────────
echo "$LOG_PREFIX Convirtiendo temas..."
"$PYTHON" scripts/temas_a_audio.py

# ── 3. Convertir leyes (.md → .mp3) ──────────────────────────────────
echo "$LOG_PREFIX Convirtiendo leyes..."
"$PYTHON" scripts/leyes_a_audio.py

# ── 4. Regenerar podcast.xml ──────────────────────────────────────────
echo "$LOG_PREFIX Generando podcast.xml..."
"$PYTHON" scripts/generar_podcast.py ${TAIAGE_BASE_URL:+--base-url "$TAIAGE_BASE_URL"}

echo "$LOG_PREFIX ── sync_audios.sh completado ─────────────────────────"
