import asyncio import os import sys from pathlib import Path # Добавляем корневую папку проекта в Python path project_root = Path(__file__).parent.parent sys.path.append(str(project_root)) from config.config import config from src.database.database import DatabaseManager from src.services.csv_service import QuizGenerator async def init_project(): """Инициализация проекта - создание БД и тестовых данных""" print("🚀 Инициализация проекта Quiz Bot...") # Создаем необходимые папки os.makedirs(config.database_path.split('/')[0], exist_ok=True) os.makedirs(config.csv_data_path, exist_ok=True) # Инициализируем базу данных print("📊 Инициализация базы данных...") db = DatabaseManager(config.database_path) await db.init_database() print("✅ База данных готова!") # Создаем тестовые CSV файлы print("📝 Создание тестовых CSV файлов...") await QuizGenerator.create_all_korean_csv_files(config.csv_data_path) print("✅ CSV файлы созданы!") # Загружаем тесты в базу данных print("📚 Загрузка тестов в базу данных...") levels_info = { 1: "Базовые слова и фразы", 2: "Повседневное общение", 3: "Средний уровень грамматики", 4: "Продвинутые конструкции", 5: "Высокий уровень языка" } for level in range(1, 6): test_id = await db.add_test( name=f"Корейский язык - Уровень {level}", description=levels_info[level], level=level, category="korean", csv_file=f"korean_level_{level}.csv" ) print(f" ✅ Тест уровня {level} добавлен (ID: {test_id})") print("\n🎉 Проект успешно инициализирован!") print(f"📁 База данных: {config.database_path}") print(f"📁 CSV файлы: {config.csv_data_path}") print("\n📋 Следующие шаги:") print("1. Скопируйте .env.example в .env") print("2. Добавьте ваш BOT_TOKEN в .env файл") print("3. Запустите бота командой: python src/bot.py") if __name__ == "__main__": asyncio.run(init_project())