98 lines
2.9 KiB
Bash
Executable File
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 ""
|