mirror of
https://github.com/ankitects/anki.git
synced 2026-01-10 04:23:54 -05:00
Added: Quick hook proof of concept
This commit is contained in:
parent
e9225c7f81
commit
64596274b9
1 changed files with 13 additions and 2 deletions
|
|
@ -28,7 +28,7 @@ import aqt
|
||||||
import aqt.main
|
import aqt.main
|
||||||
import aqt.operations
|
import aqt.operations
|
||||||
from anki import hooks
|
from anki import hooks
|
||||||
from anki.cards import Card
|
from anki.cards import Card, CardId
|
||||||
from anki.collection import (
|
from anki.collection import (
|
||||||
OpChanges,
|
OpChanges,
|
||||||
OpChangesOnly,
|
OpChangesOnly,
|
||||||
|
|
@ -38,7 +38,7 @@ from anki.collection import (
|
||||||
from anki.decks import UpdateDeckConfigs
|
from anki.decks import UpdateDeckConfigs
|
||||||
from anki.frontend_pb2 import PlayAVTagsRequest, ReviewerActionRequest
|
from anki.frontend_pb2 import PlayAVTagsRequest, ReviewerActionRequest
|
||||||
from anki.scheduler.v3 import SchedulingStatesWithContext, SetSchedulingStatesRequest
|
from anki.scheduler.v3 import SchedulingStatesWithContext, SetSchedulingStatesRequest
|
||||||
from anki.scheduler_pb2 import NextCardDataResponse
|
from anki.scheduler_pb2 import NextCardDataRequest, NextCardDataResponse
|
||||||
from anki.template import (
|
from anki.template import (
|
||||||
PartiallyRenderedCard,
|
PartiallyRenderedCard,
|
||||||
TemplateRenderContext,
|
TemplateRenderContext,
|
||||||
|
|
@ -46,6 +46,7 @@ from anki.template import (
|
||||||
av_tags_to_native,
|
av_tags_to_native,
|
||||||
)
|
)
|
||||||
from anki.utils import dev_mode
|
from anki.utils import dev_mode
|
||||||
|
from aqt import gui_hooks
|
||||||
from aqt.changenotetype import ChangeNotetypeDialog
|
from aqt.changenotetype import ChangeNotetypeDialog
|
||||||
from aqt.deckoptions import DeckOptionsDialog
|
from aqt.deckoptions import DeckOptionsDialog
|
||||||
from aqt.operations import on_op_finished
|
from aqt.operations import on_op_finished
|
||||||
|
|
@ -680,6 +681,16 @@ def next_card_data() -> bytes:
|
||||||
backend_card = data.next_card.queue.cards[0].card
|
backend_card = data.next_card.queue.cards[0].card
|
||||||
card = Card(aqt.mw.col, backend_card=backend_card)
|
card = Card(aqt.mw.col, backend_card=backend_card)
|
||||||
|
|
||||||
|
# TODO: Is dealing with gui_hooks in mediasrv like this a good idea?
|
||||||
|
if gui_hooks.reviewer_did_answer_card.count() > 0:
|
||||||
|
req = NextCardDataRequest.FromString(request.data)
|
||||||
|
if req.HasField("answer"):
|
||||||
|
gui_hooks.reviewer_did_answer_card(
|
||||||
|
aqt.mw.reviewer,
|
||||||
|
aqt.mw.col.get_card(CardId(req.answer.card_id)),
|
||||||
|
req.answer.rating + 1, # type: ignore
|
||||||
|
)
|
||||||
|
|
||||||
reviewer = aqt.mw.reviewer
|
reviewer = aqt.mw.reviewer
|
||||||
# This if statement prevents refreshes from causing the previous card to update.
|
# This if statement prevents refreshes from causing the previous card to update.
|
||||||
if reviewer.card is None or card is None or card.id != reviewer.card.id:
|
if reviewer.card is None or card is None or card.id != reviewer.card.id:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue