taiage-spring/scripts/sync_audios.sh

42 lines
2.0 KiB
Bash
Executable File

#!/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 ─────────────────────────"