#!/usr/bin/env bash # ============================================================ # Spustí všechny scrapery, sloučí data a otevře mapu. # Použití: ./run_all.sh # ============================================================ set -euo pipefail cd "$(dirname "$0")" GREEN='\033[0;32m' RED='\033[0;31m' BOLD='\033[1m' NC='\033[0m' TOTAL=6 CURRENT=0 FAILED=0 step() { CURRENT=$((CURRENT + 1)) echo "" echo -e "${BOLD}[$CURRENT/$TOTAL] $1${NC}" echo "------------------------------------------------------------" } # ── Scrapery (paralelně kde to jde) ───────────────────────── step "Sreality" python3 scrape_and_map.py || { echo -e "${RED}✗ Sreality selhalo${NC}"; FAILED=$((FAILED + 1)); } step "Realingo" python3 scrape_realingo.py || { echo -e "${RED}✗ Realingo selhalo${NC}"; FAILED=$((FAILED + 1)); } step "Bezrealitky" python3 scrape_bezrealitky.py || { echo -e "${RED}✗ Bezrealitky selhalo${NC}"; FAILED=$((FAILED + 1)); } step "iDNES Reality" python3 scrape_idnes.py || { echo -e "${RED}✗ iDNES selhalo${NC}"; FAILED=$((FAILED + 1)); } step "PSN + CityHome" python3 scrape_psn.py & PID_PSN=$! python3 scrape_cityhome.py & PID_CH=$! wait $PID_PSN || { echo -e "${RED}✗ PSN selhalo${NC}"; FAILED=$((FAILED + 1)); } wait $PID_CH || { echo -e "${RED}✗ CityHome selhalo${NC}"; FAILED=$((FAILED + 1)); } # ── Sloučení + mapa ────────────────────────────────────────── step "Sloučení dat a generování mapy" python3 merge_and_map.py || { echo -e "${RED}✗ Merge selhal${NC}"; FAILED=$((FAILED + 1)); } # ── Otevření mapy ──────────────────────────────────────────── echo "" echo "============================================================" if [ $FAILED -eq 0 ]; then echo -e "${GREEN}${BOLD}Hotovo! Všech 6 zdrojů úspěšně staženo.${NC}" else echo -e "${RED}${BOLD}Hotovo s $FAILED chybami.${NC}" fi echo "============================================================" open mapa_bytu.html