only update changed card ids after generating cards

This commit is contained in:
Damien Elmes 2010-02-05 12:59:42 +09:00
parent 5810af3199
commit db4fb87d68

View file

@ -966,12 +966,13 @@ where id in %s""" % ids2str(sf))
facts = self.deck.s.query(Fact).filter( facts = self.deck.s.query(Fact).filter(
text("id in %s" % ids2str(sf))).order_by(Fact.created).all() text("id in %s" % ids2str(sf))).order_by(Fact.created).all()
self.deck.updateProgress(_("Generating Cards...")) self.deck.updateProgress(_("Generating Cards..."))
ids = []
for c, fact in enumerate(facts): for c, fact in enumerate(facts):
self.deck.addCards(fact, d.selectedCms) ids.extend(self.deck.addCards(fact, d.selectedCms))
if c % 50 == 0: if c % 50 == 0:
self.deck.updateProgress() self.deck.updateProgress()
self.deck.flushMod() self.deck.flushMod()
self.deck.updateAllPriorities() self.deck.updatePriorities(ids)
self.deck.finishProgress() self.deck.finishProgress()
self.parent.setProgressParent(None) self.parent.setProgressParent(None)
self.deck.setUndoEnd(n) self.deck.setUndoEnd(n)