Files
training/scripts/parse_all_tcx.sh
T
2025-11-13 21:11:40 +01:00

98 lines
2.9 KiB
Bash
Executable File

#!/bin/bash
#
# Parse All TCX Files
# Hittar alla TCX-filer i Data/training/ som inte har JSON-sammanfattningar
# och parsar dem automatiskt
#
set -e
# Färger för output
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
TRAINING_DIR="$REPO_ROOT/Data/training"
echo -e "${BLUE}🔍 Söker efter TCX-filer i $TRAINING_DIR${NC}\n"
# Räknare
total_tcx=0
already_parsed=0
newly_parsed=0
errors=0
# Hitta alla TCX-filer
if [ ! -d "$TRAINING_DIR" ]; then
echo -e "${YELLOW}⚠️ Katalogen $TRAINING_DIR finns inte${NC}"
exit 1
fi
cd "$REPO_ROOT"
for tcx_file in "$TRAINING_DIR"/*.tcx; do
# Kolla om glob hittade något
[ -e "$tcx_file" ] || continue
total_tcx=$((total_tcx + 1))
json_file="${tcx_file}.json"
# Kolla om JSON redan finns
if [ -f "$json_file" ]; then
# Kolla om TCX är nyare än JSON
if [ "$tcx_file" -nt "$json_file" ]; then
echo -e "${YELLOW}🔄 Uppdaterar: $(basename "$tcx_file")${NC}"
if python3 "$SCRIPT_DIR/parse_tcx.py" "$tcx_file"; then
newly_parsed=$((newly_parsed + 1))
else
echo -e "${YELLOW}❌ Misslyckades: $(basename "$tcx_file")${NC}"
errors=$((errors + 1))
fi
else
echo -e "✓ Redan parsad: $(basename "$tcx_file")"
already_parsed=$((already_parsed + 1))
fi
else
echo -e "${GREEN}📝 Parsar ny fil: $(basename "$tcx_file")${NC}"
if python3 "$SCRIPT_DIR/parse_tcx.py" "$tcx_file"; then
newly_parsed=$((newly_parsed + 1))
else
echo -e "${YELLOW}❌ Misslyckades: $(basename "$tcx_file")${NC}"
errors=$((errors + 1))
fi
fi
done
# Sammanfattning
echo ""
echo -e "${BLUE}════════════════════════════════════════${NC}"
echo -e "${BLUE}📊 Sammanfattning${NC}"
echo -e "${BLUE}════════════════════════════════════════${NC}"
echo "Total TCX-filer funna: $total_tcx"
echo "Redan parsade: $already_parsed"
echo -e "${GREEN}Nyligen parsade: $newly_parsed${NC}"
if [ $errors -gt 0 ]; then
echo -e "${YELLOW}Fel vid parsning: $errors${NC}"
fi
if [ $total_tcx -eq 0 ]; then
echo ""
echo -e "${YELLOW}Inga TCX-filer hittades i $TRAINING_DIR${NC}"
echo "Lägg dina TCX-filer där och kör scriptet igen."
fi
echo ""
if [ $newly_parsed -gt 0 ]; then
echo -e "${GREEN}✅ Klart! $newly_parsed fil(er) parsade.${NC}"
echo "Du kan nu be Claude analysera JSON-filerna för snabbare analys."
elif [ $total_tcx -gt 0 ]; then
echo -e "✅ Alla TCX-filer är redan parsade!"
fi
echo ""