init commit
This commit is contained in:
65
init_project.py
Normal file
65
init_project.py
Normal file
@@ -0,0 +1,65 @@
|
||||
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())
|
||||
Reference in New Issue
Block a user