update
This commit is contained in:
@@ -13,8 +13,7 @@ from datetime import datetime, timezone
|
||||
|
||||
from agents import run_agent
|
||||
from config import DEFAULT_PROVIDER
|
||||
from database import create_element, list_elements, get_block_hurdles
|
||||
from elements import generate_element
|
||||
from database import get_block_hurdles
|
||||
from jsonio import parse_json_text as _parse_json_text
|
||||
from pipeline import _prompt, _problems_schema
|
||||
from textkit import _norm_title
|
||||
@@ -637,21 +636,3 @@ async def block_discussion(
|
||||
return None
|
||||
|
||||
|
||||
async def create_block_element(topic: str, block: str, section: str, provider: str = DEFAULT_PROVIDER) -> None:
|
||||
"""Background task after completion: register the block as an element.
|
||||
|
||||
Dedup via normalized title — if an element for the block already exists,
|
||||
nothing happens. Must never raise an exception to the outside.
|
||||
"""
|
||||
try:
|
||||
existing = {_norm_title(e["title"]) for e in await list_elements(topic)}
|
||||
if _norm_title(block) in existing:
|
||||
return
|
||||
fields = await generate_element(topic, hint=block, provider=provider, extra_context=section)
|
||||
if _norm_title(fields["title"]) in existing:
|
||||
return
|
||||
now = datetime.now(timezone.utc).isoformat()
|
||||
await create_element({"id": str(uuid.uuid4()), "topic": topic, **fields, "created_at": now, "updated_at": now})
|
||||
log.info("[%s] Block registered as element: %s", topic, fields["title"])
|
||||
except Exception:
|
||||
log.warning("[%s] Element registration after exam failed (%s)", topic, block, exc_info=True)
|
||||
|
||||
Reference in New Issue
Block a user