#!/bin/bash # Batch runner para apply_template.py # Procesa los documentos en /tmp/batch_t*.txt set -euo pipefail TEMPLATE="/mnt/c/Users/javie/Documents/R360MX/cloud/01. Info General/02. Standards/03. Templates/TPL01-Reports.docx" DIR="/home/javi/.openclaw/workspace/r360mx-docs-converter" LOGFILE="/tmp/r360mx_batch_$(date +%Y%m%d_%H%M%S).log" START=$(date +%s) echo "=== BATCH R360MX - $(date) ===" | tee "$LOGFILE" echo "" | tee -a "$LOGFILE" TOTAL=0 OK=0 FAIL=0 TOTAL_BASE=0 # Primero contar docs totales for TANDA in /tmp/batch_t1.txt /tmp/batch_t2.txt /tmp/batch_t3.txt /tmp/batch_t4.txt; do if [ -f "$TANDA" ]; then COUNT=$(wc -l < "$TANDA") TOTAL_BASE=$((TOTAL_BASE + COUNT)) fi done echo "Total documentos: $TOTAL_BASE" | tee -a "$LOGFILE" echo "" | tee -a "$LOGFILE" for TANDA in /tmp/batch_t1.txt /tmp/batch_t2.txt /tmp/batch_t3.txt /tmp/batch_t4.txt; do if [ ! -f "$TANDA" ]; then continue fi NUM=$(wc -l < "$TANDA") echo "--- Tanda: $(basename "$TANDA") ($NUM docs) ---" | tee -a "$LOGFILE" while IFS= read -r DOC; do TOTAL=$((TOTAL + 1)) echo -n "[$TOTAL/$TOTAL_BASE] $(basename "$DOC")... " | tee -a "$LOGFILE" # Ejecutar en subshell para no alterar el directorio actual if ( cd "$DIR" && python3 apply_template.py "$DOC" "$TEMPLATE" ) >> "$LOGFILE" 2>&1; then echo "✅" | tee -a "$LOGFILE" OK=$((OK + 1)) else echo "❌" | tee -a "$LOGFILE" FAIL=$((FAIL + 1)) fi done < "$TANDA" done END=$(date +%s) DURATION=$((END - START)) echo "" | tee -a "$LOGFILE" echo "═══════════════════════════════════" | tee -a "$LOGFILE" echo "RESUMEN: ${OK} OK, ${FAIL} fallos de ${TOTAL} total" | tee -a "$LOGFILE" echo "Duración: ${DURATION}s" | tee -a "$LOGFILE" echo "Log: $LOGFILE" | tee -a "$LOGFILE" echo "═══════════════════════════════════" | tee -a "$LOGFILE"