mirror of
https://github.com/ankitects/anki.git
synced 2025-09-20 06:52:21 -04:00
fix card ordering when generating cards by basing card creation off fact
This commit is contained in:
parent
f3d2965e12
commit
a68366b5c4
1 changed files with 4 additions and 4 deletions
|
@ -145,12 +145,14 @@ The current importer only supports a single active card template. Please disable
|
||||||
# add facts
|
# add facts
|
||||||
self.deck.updateProgress()
|
self.deck.updateProgress()
|
||||||
factIds = [genID() for n in range(len(cards))]
|
factIds = [genID() for n in range(len(cards))]
|
||||||
|
factCreated = {}
|
||||||
def fudgeCreated(d, tmp=[]):
|
def fudgeCreated(d, tmp=[]):
|
||||||
if not tmp:
|
if not tmp:
|
||||||
tmp.append(time.time())
|
tmp.append(time.time())
|
||||||
else:
|
else:
|
||||||
tmp[0] += 0.00001
|
tmp[0] += 0.00001
|
||||||
d['created'] = tmp[0]
|
d['created'] = tmp[0]
|
||||||
|
factCreated[d['id']] = d['created']
|
||||||
return d
|
return d
|
||||||
self.deck.s.execute(factsTable.insert(),
|
self.deck.s.execute(factsTable.insert(),
|
||||||
[fudgeCreated({'modelId': self.model.id,
|
[fudgeCreated({'modelId': self.model.id,
|
||||||
|
@ -178,15 +180,14 @@ where factId in (%s)""" % ",".join([str(s) for s in factIds]))
|
||||||
data)
|
data)
|
||||||
# and cards
|
# and cards
|
||||||
self.deck.updateProgress()
|
self.deck.updateProgress()
|
||||||
now = time.time()
|
|
||||||
active = 0
|
active = 0
|
||||||
for cm in self.model.cardModels:
|
for cm in self.model.cardModels:
|
||||||
self._now = now
|
|
||||||
if cm.active:
|
if cm.active:
|
||||||
active += 1
|
active += 1
|
||||||
data = [self.addMeta({
|
data = [self.addMeta({
|
||||||
'id': genID(),
|
'id': genID(),
|
||||||
'factId': factIds[m],
|
'factId': factIds[m],
|
||||||
|
'factCreated': factCreated[factIds[m]],
|
||||||
'cardModelId': cm.id,
|
'cardModelId': cm.id,
|
||||||
'ordinal': cm.ordinal,
|
'ordinal': cm.ordinal,
|
||||||
'question': u"",
|
'question': u"",
|
||||||
|
@ -203,11 +204,10 @@ where factId in (%s)""" % ",".join([str(s) for s in factIds]))
|
||||||
"Add any scheduling metadata to cards"
|
"Add any scheduling metadata to cards"
|
||||||
if 'fields' in card.__dict__:
|
if 'fields' in card.__dict__:
|
||||||
del card.fields
|
del card.fields
|
||||||
t = self._now + data['ordinal']
|
t = data['factCreated'] + data['ordinal'] * 0.000001
|
||||||
data['created'] = t
|
data['created'] = t
|
||||||
data['modified'] = t
|
data['modified'] = t
|
||||||
data['due'] = t
|
data['due'] = t
|
||||||
self._now += .00001
|
|
||||||
data.update(card.__dict__)
|
data.update(card.__dict__)
|
||||||
data['tags'] = u""
|
data['tags'] = u""
|
||||||
self.cardIds.append(data['id'])
|
self.cardIds.append(data['id'])
|
||||||
|
|
Loading…
Reference in a new issue