#!/bin/bash

# Скрипт для запуска всего проекта searchTorrentDownl
# Включает веб-приложение и Telegram бота

echo "🚀 Запуск проекта searchTorrentDownl..."

# Проверяем, что мы в правильной директории
if [ ! -f "app.py" ]; then
    echo "❌ Ошибка: Запустите скрипт из директории проекта"
    exit 1
fi

# Создаем виртуальное окружение если его нет
if [ ! -d "venv" ]; then
    echo "📦 Создание виртуального окружения..."
    python3 -m venv venv
fi

# Активируем виртуальное окружение
echo "🔧 Активация виртуального окружения..."
source venv/bin/activate

# Устанавливаем зависимости
echo "📥 Установка зависимостей..."
pip install -r requirements.txt

# Проверяем, что qBittorrent запущен
echo "🔍 Проверка qBittorrent..."
if ! curl -s http://localhost:8080/api/v2/app/version > /dev/null; then
    echo "⚠️  qBittorrent не запущен. Запустите его командой:"
    echo "   sudo systemctl start qbittorrent"
    echo "   или"
    echo "   sudo -u qbittorrent /usr/bin/qbittorrent-nox --webui-port=8080"
    echo ""
    echo "🔧 Продолжаем без qBittorrent (поиск фильмов будет работать)..."
fi

# Запускаем основное приложение в фоне
echo "🌐 Запуск веб-приложения..."
python3 app.py &
APP_PID=$!

# Ждем немного, чтобы приложение запустилось
sleep 3

# Проверяем, что приложение запустилось
if ! curl -s http://localhost:8089/api/search/terminator > /dev/null; then
    echo "❌ Ошибка запуска веб-приложения"
    kill $APP_PID 2>/dev/null
    exit 1
fi

echo "✅ Веб-приложение запущено на http://localhost:8089"

# Запускаем Telegram бота
echo "🤖 Запуск Telegram бота..."
python3 run_telegram_bot.py &
BOT_PID=$!

echo ""
echo "🎉 Проект успешно запущен!"
echo ""
echo "📱 Доступные интерфейсы:"
echo "   • Веб-интерфейс: http://localhost:8089"
echo "   • qBittorrent: http://localhost:8080 (admin/vrubel07)"
echo "   • Telegram Bot: @your_bot_username (команда /start)"
echo ""
echo "🛑 Для остановки нажмите Ctrl+C"

# Функция для корректного завершения
cleanup() {
    echo ""
    echo "🛑 Остановка сервисов..."
    kill $APP_PID 2>/dev/null
    kill $BOT_PID 2>/dev/null
    echo "✅ Все сервисы остановлены"
    exit 0
}

# Перехватываем сигнал завершения
trap cleanup SIGINT SIGTERM

# Ждем завершения
wait
