mirror of
https://github.com/ankitects/anki.git
synced 2025-09-18 22:12:21 -04:00
84 lines
2.2 KiB
Python
84 lines
2.2 KiB
Python
# Copyright: Ankitects Pty Ltd and contributors
|
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|
|
|
# pylint: disable=invalid-name
|
|
|
|
from __future__ import annotations
|
|
|
|
import anki
|
|
from anki.cards import Card
|
|
from anki.consts import *
|
|
from anki.decks import DeckId
|
|
|
|
from .v2 import QueueConfig
|
|
from .v2 import Scheduler as V2
|
|
|
|
|
|
class Scheduler(V2):
|
|
version = 1
|
|
name = "std"
|
|
haveCustomStudy = True
|
|
_spreadRev = True
|
|
_burySiblingsOnAnswer = True
|
|
|
|
def __init__( # pylint: disable=super-init-not-called
|
|
self, col: anki.collection.Collection
|
|
) -> None:
|
|
super().__init__(col)
|
|
self.queueLimit = 0
|
|
self.reportLimit = 0
|
|
self.dynReportLimit = 0
|
|
self.reps = 0
|
|
self.lrnCount = 0
|
|
self.revCount = 0
|
|
self.newCount = 0
|
|
self._haveQueues = False
|
|
|
|
def reset(self) -> None:
|
|
pass
|
|
|
|
def getCard(self) -> Card | None:
|
|
raise Exception("v1 scheduler no longer supported")
|
|
|
|
def answerCard(self, card: Card, ease: int) -> None:
|
|
raise Exception("v1 scheduler no longer supported")
|
|
|
|
def _is_finished(self) -> bool:
|
|
return False
|
|
|
|
# stubs of v1-specific routines that add-ons may be overriding
|
|
|
|
def _graduatingIvl(
|
|
self, card: Card, conf: QueueConfig, early: bool, adj: bool = True
|
|
) -> int:
|
|
return 0
|
|
|
|
def removeLrn(self, ids: list[int] | None = None) -> None:
|
|
pass
|
|
|
|
def _lrnForDeck(self, did: DeckId) -> int:
|
|
return 0
|
|
|
|
def _deckRevLimit(self, did: DeckId) -> int:
|
|
return 0
|
|
|
|
def _nextLapseIvl(self, card: Card, conf: QueueConfig) -> int:
|
|
return 0
|
|
|
|
def _rescheduleRev(self, card: Card, ease: int) -> None: # type: ignore[override]
|
|
pass
|
|
|
|
def _nextRevIvl(self, card: Card, ease: int) -> int: # type: ignore[override]
|
|
return 0
|
|
|
|
def _constrainedIvl(self, ivl: float, conf: QueueConfig, prev: int) -> int: # type: ignore[override]
|
|
return 0
|
|
|
|
def _adjRevIvl(self, card: Card, idealIvl: int) -> int:
|
|
return 0
|
|
|
|
def _dynIvlBoost(self, card: Card) -> int:
|
|
return 0
|
|
|
|
def _resched(self, card: Card) -> bool:
|
|
return False
|