#!/bin/bash
# ADSB Analyzer Install Script
# Run once to set everything up. Safe to re-run for updates.

DIR="/home/pi/adsb-analyzer"
echo ""
echo "============================================"
echo "  ADSB Analyzer Install / Update"
echo "============================================"
echo ""

# Stop any running instances
echo "[1/6] Stopping any running logger/server..."
pkill -f "logger.py" 2>/dev/null
pkill -f "server.py" 2>/dev/null
pkill -f "start.sh" 2>/dev/null
sleep 2

# Create directories
echo "[2/6] Creating directories..."
mkdir -p $DIR/data
mkdir -p $DIR/faa

# Copy files (they should be in the same directory as this script)
echo "[3/6] Installing files..."
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
cp $SCRIPT_DIR/logger.py $DIR/logger.py
cp $SCRIPT_DIR/server.py $DIR/server.py
cp $SCRIPT_DIR/faa_sync.py $DIR/faa_sync.py
cp $SCRIPT_DIR/adsb_analyzer.html $DIR/adsb_analyzer.html
cp $SCRIPT_DIR/start.sh $DIR/start.sh
chmod +x $DIR/start.sh
echo "    Files installed to $DIR"

# Set up crontab
echo "[4/6] Setting up cron jobs..."
# Remove old adsb entries and add fresh ones
(crontab -l 2>/dev/null | grep -v "adsb-analyzer"; \
 echo "@reboot sleep 10 && bash /home/pi/adsb-analyzer/start.sh &"; \
 echo "0 4 * * 1 python3 /home/pi/adsb-analyzer/faa_sync.py >> /home/pi/adsb-analyzer/adsb.log 2>&1") | crontab -
echo "    Cron jobs set:"
echo "    - Auto-start on boot"
echo "    - FAA registry sync every Monday at 4am"

# Download FAA registry now
echo "[5/6] Downloading FAA aircraft registry (this may take a few minutes)..."
python3 $DIR/faa_sync.py
if [ $? -eq 0 ]; then
    echo "    FAA registry downloaded and processed successfully"
else
    echo "    FAA registry download failed — will retry Monday at 4am"
    echo "    You can run manually: python3 /home/pi/adsb-analyzer/faa_sync.py"
fi

# Start everything
echo "[6/6] Starting logger and web server..."
bash $DIR/start.sh &
sleep 3

# Check if running
if pgrep -f "logger.py" > /dev/null; then
    echo "    Logger: RUNNING"
else
    echo "    Logger: FAILED TO START"
fi

if pgrep -f "server.py" > /dev/null; then
    echo "    Server: RUNNING"
else
    echo "    Server: FAILED TO START"
fi

echo ""
echo "============================================"
echo "  Install complete!"
echo "  Open: http://$(hostname -I | awk '{print $1}'):8080/adsb_analyzer.html"
echo "============================================"
echo ""
