#!/usr/bin/env python3 """ Скрипт для загрузки вопросов из CSV файлов в базу данных """ import asyncio import sys import os from pathlib import Path # Добавляем путь к проекту project_root = Path(__file__).parent sys.path.append(str(project_root)) from config.config import config from src.database.database import DatabaseManager from src.services.csv_service import CSVQuizLoader async def load_questions_to_db(): """Загрузка вопросов из CSV файлов в базу данных""" print("📚 Загрузка вопросов из CSV в базу данных...") db = DatabaseManager(config.database_path) csv_loader = CSVQuizLoader(config.csv_data_path) # Получаем все тесты tests = await db.get_tests_by_category() for test in tests: csv_file = test['csv_file'] test_id = test['id'] print(f" 📄 Загружаем {csv_file} для теста ID {test_id}") # Загружаем вопросы из CSV questions = await csv_loader.load_questions_from_csv(csv_file) if questions: # Добавляем вопросы в базу success = await db.add_questions_to_test(test_id, questions) if success: print(f" ✅ Загружено {len(questions)} вопросов") else: print(f" ❌ Ошибка загрузки для теста {test_id}") else: print(f" ⚠️ Нет вопросов в файле {csv_file}") print("✅ Загрузка завершена!") if __name__ == "__main__": asyncio.run(load_questions_to_db())