update
This commit is contained in:
@@ -414,17 +414,22 @@ async def set_baustein_absolviert(topic: str, baustein: str) -> bool:
|
||||
return cursor.rowcount > 0
|
||||
|
||||
|
||||
async def list_baustein_absolviert_all() -> dict[str, set[str]]:
|
||||
"""Alle absolvierten Bausteine in einem Query: topic → Baustein-Titel."""
|
||||
async def list_baustein_levels_all() -> dict[str, dict[str, set[str]]]:
|
||||
"""Bausteine je Meilenstein in EINER Query: {"absolviert"/"verstanden"/"gemeistert": {topic → {Titel}}}."""
|
||||
db = await get_db()
|
||||
cursor = await db.execute(
|
||||
"SELECT topic, baustein FROM baustein_progress WHERE absolviert IS NOT NULL"
|
||||
"SELECT topic, baustein, absolviert, verstanden, gemeistert FROM baustein_progress"
|
||||
)
|
||||
rows = await cursor.fetchall()
|
||||
out: dict[str, set[str]] = {}
|
||||
for topic, baustein in rows:
|
||||
out.setdefault(topic, set()).add(baustein)
|
||||
return out
|
||||
levels: dict[str, dict[str, set[str]]] = {"absolviert": {}, "verstanden": {}, "gemeistert": {}}
|
||||
for topic, baustein, absolviert, verstanden, gemeistert in rows:
|
||||
if absolviert is not None:
|
||||
levels["absolviert"].setdefault(topic, set()).add(baustein)
|
||||
if verstanden is not None:
|
||||
levels["verstanden"].setdefault(topic, set()).add(baustein)
|
||||
if gemeistert is not None:
|
||||
levels["gemeistert"].setdefault(topic, set()).add(baustein)
|
||||
return levels
|
||||
|
||||
|
||||
async def delete_baustein_daten(topic: str) -> None:
|
||||
|
||||
Reference in New Issue
Block a user