mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 16:56:36 -04:00
store order as an index
This commit is contained in:
parent
d5dbfa3243
commit
60dd0b426c
4 changed files with 16 additions and 4 deletions
|
@ -31,6 +31,10 @@ COUNT_REMAINING = 1
|
||||||
MEDIA_ADD = 0
|
MEDIA_ADD = 0
|
||||||
MEDIA_REM = 1
|
MEDIA_REM = 1
|
||||||
|
|
||||||
|
# dynamic deck order
|
||||||
|
DYN_OLDEST = 0
|
||||||
|
DYN_RANDOM = 1
|
||||||
|
|
||||||
# deck schema & syncing vars
|
# deck schema & syncing vars
|
||||||
SCHEMA_VERSION = 3
|
SCHEMA_VERSION = 3
|
||||||
SYNC_ZIP_SIZE = int(2.5*1024*1024)
|
SYNC_ZIP_SIZE = int(2.5*1024*1024)
|
||||||
|
@ -66,3 +70,10 @@ def alignmentLabels():
|
||||||
1: _("Left"),
|
1: _("Left"),
|
||||||
2: _("Right"),
|
2: _("Right"),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# todo: expand
|
||||||
|
def dynOrderLabels():
|
||||||
|
return {
|
||||||
|
0: _("Oldest seen first"),
|
||||||
|
1: _("Random"),
|
||||||
|
}
|
||||||
|
|
|
@ -38,7 +38,7 @@ defaultDynamicDeck = {
|
||||||
'cramRev': False,
|
'cramRev': False,
|
||||||
'search': "",
|
'search': "",
|
||||||
'limit': 100,
|
'limit': 100,
|
||||||
'order': 'oldestSeen',
|
'order': 0,
|
||||||
'shift': True,
|
'shift': True,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -740,7 +740,7 @@ did = ? and queue = 2 and due <= ? %s limit ?""" % order,
|
||||||
order = self._dynOrder(deck)
|
order = self._dynOrder(deck)
|
||||||
limit = " limit %d" % deck['limit']
|
limit = " limit %d" % deck['limit']
|
||||||
ids = self.col.findCards(deck['search'], order=order+limit)
|
ids = self.col.findCards(deck['search'], order=order+limit)
|
||||||
if deck['order'] == "random":
|
if deck['order'] == DYN_RANDOM:
|
||||||
random.shuffle(ids)
|
random.shuffle(ids)
|
||||||
# move the cards over
|
# move the cards over
|
||||||
self._moveToDyn(did, ids)
|
self._moveToDyn(did, ids)
|
||||||
|
@ -754,7 +754,7 @@ usn = ?, mod = ? where did = ?""", self.col.usn(), intTime(), did)
|
||||||
|
|
||||||
def _dynOrder(self, deck):
|
def _dynOrder(self, deck):
|
||||||
o = deck['order']
|
o = deck['order']
|
||||||
if o == "oldestSeen":
|
if o == DYN_OLDEST:
|
||||||
return "order by c.mod"
|
return "order by c.mod"
|
||||||
# elif o == "added":
|
# elif o == "added":
|
||||||
# return "order by n.id"
|
# return "order by n.id"
|
||||||
|
|
|
@ -511,8 +511,9 @@ def test_cram():
|
||||||
c.flush()
|
c.flush()
|
||||||
d.reset()
|
d.reset()
|
||||||
assert d.sched.counts() == (0,0,1)
|
assert d.sched.counts() == (0,0,1)
|
||||||
# cram again, by default it's treated like a review
|
# cram again, with the review treated as a cram
|
||||||
did = d.decks.newDyn("Cram")
|
did = d.decks.newDyn("Cram")
|
||||||
|
d.decks.get(did)['cramRev'] = True
|
||||||
d.sched.rebuildDyn(did)
|
d.sched.rebuildDyn(did)
|
||||||
d.reset()
|
d.reset()
|
||||||
assert d.sched.counts() == (1,0,0)
|
assert d.sched.counts() == (1,0,0)
|
||||||
|
|
Loading…
Reference in a new issue