40 lines
1.7 KiB
Python
40 lines
1.7 KiB
Python
"""
|
|
Learning Data Package — данные всех уровней.
|
|
Каждый уровень в отдельном файле.
|
|
"""
|
|
import logging
|
|
from database import get_pool
|
|
from . import level_a1, level_a2, level_b1, level_b2, level_c1, level_c2
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
async def init_learning_data():
|
|
"""Инициализирует уровни и все темы"""
|
|
pool = await get_pool()
|
|
async with pool.acquire() as conn:
|
|
# ============ УРОВНИ ============
|
|
levels = [
|
|
("A1", "Poziom A1", "Уровень A1", "Рівень A1", "Level A1", 1),
|
|
("A2", "Poziom A2", "Уровень A2", "Рівень A2", "Level A2", 2),
|
|
("B1", "Poziom B1", "Уровень B1", "Рівень B1", "Level B1", 3),
|
|
("B2", "Poziom B2", "Уровень B2", "Рівень B2", "Level B2", 4),
|
|
("C1", "Poziom C1", "Уровень C1", "Рівень C1", "Level C1", 5),
|
|
("C2", "Poziom C2", "Уровень C2", "Рівень C2", "Level C2", 6),
|
|
]
|
|
for code, pl, ru, uk, en, sort in levels:
|
|
await conn.execute("""
|
|
INSERT INTO learning_levels (code, name_pl, name_ru, name_uk, name_en, sort_order)
|
|
VALUES ($1, $2, $3, $4, $5, $6)
|
|
ON CONFLICT (code) DO NOTHING
|
|
""", code, pl, ru, uk, en, sort)
|
|
|
|
# Загружаем данные каждого уровня
|
|
await level_a1.init_level_a1(conn)
|
|
await level_a2.init_level_a2(conn)
|
|
await level_b1.init_level_b1(conn)
|
|
await level_b2.init_level_b2(conn)
|
|
await level_c1.init_level_c1(conn)
|
|
await level_c2.init_level_c2(conn)
|
|
|
|
logger.info("Learning data fully initialized") |