MCPcopy Create free account
hub / github.com/0010aor/FlashNotes / record_practice_card_result

Function record_practice_card_result

backend/src/flashcards/services.py:340–367  ·  view source on GitHub ↗
(
    session: Session,
    practice_card: PracticeCard,
    is_correct: bool,
)

Source from the content-addressed store, hash-verified

338
339
340def record_practice_card_result(
341 session: Session,
342 practice_card: PracticeCard,
343 is_correct: bool,
344) -> PracticeCard:
345 was_practiced = practice_card.is_practiced
346
347 practice_card.is_correct = is_correct
348 practice_card.is_practiced = True
349 practice_card.updated_at = datetime.now(timezone.utc)
350 session.add(practice_card)
351
352 practice_session = session.get(PracticeSession, practice_card.session_id)
353 if practice_session:
354 if not was_practiced:
355 practice_session.cards_practiced += 1
356 if is_correct:
357 practice_session.correct_answers += 1
358
359 if practice_session.cards_practiced == practice_session.total_cards:
360 practice_session.is_completed = True
361
362 practice_session.updated_at = datetime.now(timezone.utc)
363 session.add(practice_session)
364
365 session.commit()
366 session.refresh(practice_card)
367 return practice_card
368
369
370def get_card_by_id(session: Session, card_id: uuid.UUID) -> Card | None:

Calls

no outgoing calls