HKUDS/DeepTutor · error · HTTPException
str(e)
Error message
str(e)
What it means
Error "str(e)" thrown in HKUDS/DeepTutor.
Source
Thrown at deeptutor/api/routers/question_notebook.py:215
)
return records
@router.post("/entries/upsert")
async def upsert_single_entry(payload: UpsertEntryRequest):
store = get_sqlite_session_store()
images_records = await _persist_answer_images(payload.session_id, payload.user_answer_images)
item = payload.model_dump()
# The store expects ``user_answer_images`` as a plain list of dicts
# (or absent to mean "leave the stored images alone"). Strip the
# upload payload version and replace with the persisted records.
item.pop("user_answer_images", None)
if images_records is not None:
item["user_answer_images"] = images_records
try:
await store.upsert_notebook_entries(payload.session_id, [item])
except ValueError as e:
raise HTTPException(status_code=404, detail=str(e))
entry = await store.find_notebook_entry(
payload.session_id, payload.question_id, turn_id=payload.turn_id
)
if entry is None:
raise HTTPException(status_code=500, detail="Upsert failed")
return entry
@router.get("/entries", response_model=NotebookEntryListResponse)
async def list_entries(
category_id: int | None = Query(default=None),
uncategorized: bool = Query(
default=False,
description="Only entries filed under no category — the triage inbox. "
"Ignored when category_id is set.",
),
bookmarked: bool | None = Query(default=None),
is_correct: bool | None = Query(default=None),View on GitHub (pinned to 3e82f13042)
When it happens
Trigger: Thrown at deeptutor/api/routers/question_notebook.py:215 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of HKUDS/DeepTutor@3e82f13042 (2026-08-27).
Data as JSON: /api/errors/9ff238aa1db569d0.
Report an issue: GitHub.