mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 08:46:37 -04:00
code in new scheduler to move between versions
This commit is contained in:
parent
a585c21082
commit
2ebd75ffe7
1 changed files with 55 additions and 1 deletions
|
@ -22,7 +22,7 @@ from anki.hooks import runHook
|
|||
# odue/odid store original due/did when cards moved to filtered deck
|
||||
|
||||
class Scheduler:
|
||||
name = "std"
|
||||
name = "std2"
|
||||
haveCustomStudy = True
|
||||
_burySiblingsOnAnswer = True
|
||||
|
||||
|
@ -1563,3 +1563,57 @@ and due >= ? and queue = 0""" % scids, now, self.col.usn(), shiftby, low)
|
|||
# in order due?
|
||||
if conf['new']['order'] == NEW_CARDS_RANDOM:
|
||||
self.randomizeCards(did)
|
||||
|
||||
# Changing scheduler versions
|
||||
##########################################################################
|
||||
|
||||
def _emptyAllFiltered(self):
|
||||
self.col.db.execute("""
|
||||
update cards set did = odid, queue = (case
|
||||
when type = 1 then 0
|
||||
when type = 3 then 2
|
||||
else type end), type = (case
|
||||
when type = 1 then 0
|
||||
when type = 3 then 2
|
||||
else type end),
|
||||
due = odue, odue = 0, odid = 0, usn = ? where odid != 0""",
|
||||
self.col.usn())
|
||||
|
||||
def _removeAllFromLearning(self):
|
||||
# remove review cards from relearning
|
||||
self.col.db.execute("""
|
||||
update cards set
|
||||
due = odue, queue = 2, mod = %d, usn = %d, odue = 0
|
||||
where queue in (1,3) and type in (2, 3)
|
||||
""" % (intTime(), self.col.usn()))
|
||||
# remove new cards from learning
|
||||
self.forgetCards(self.col.db.list(
|
||||
"select id from cards where queue in (1,3)"))
|
||||
|
||||
# v1 doesn't support buried/suspended (re)learning cards
|
||||
def _resetSuspendedLearning(self):
|
||||
self.col.db.execute("""
|
||||
update cards set type = (case
|
||||
when type = 1 then 0
|
||||
when type in (2, 3) then 2
|
||||
else type end),
|
||||
due = (case when odue then odue else due end),
|
||||
odue = 0,
|
||||
mod = %d, usn = %d
|
||||
where queue < 0""" % (intTime(), self.col.usn()))
|
||||
|
||||
# no 'manually buried' queue in v1
|
||||
def _moveManuallyBuried(self):
|
||||
self.col.db.execute("update cards set queue=-2,mod=%d where queue=-3" % intTime())
|
||||
|
||||
def moveToV1(self):
|
||||
self._emptyAllFiltered()
|
||||
self._removeAllFromLearning()
|
||||
|
||||
self._moveManuallyBuried()
|
||||
self._resetSuspendedLearning()
|
||||
|
||||
|
||||
def moveToV2(self):
|
||||
self._emptyAllFiltered()
|
||||
self._removeAllFromLearning()
|
||||
|
|
Loading…
Reference in a new issue