mark recycled models for card generation; drop superfluous flagModels

This commit is contained in:
Damien Elmes 2011-11-08 22:32:43 +09:00
parent 357e5e7036
commit 47f4b271dc

View file

@ -22,7 +22,6 @@ class Anki2Importer(Importer):
needMapper = False needMapper = False
groupPrefix = None groupPrefix = None
needCards = True needCards = True
flagModels = False
def run(self, media=None): def run(self, media=None):
self._prepareDecks() self._prepareDecks()
@ -106,8 +105,8 @@ class Anki2Importer(Importer):
if mid in self._modelMap: if mid in self._modelMap:
return self._modelMap[mid] return self._modelMap[mid]
src = self.src.models.get(mid).copy() src = self.src.models.get(mid).copy()
if self.flagModels: if not self.needCards:
src['needWizard'] = True src['needWizard'] = 1
# if it doesn't exist, we'll copy it over, preserving id # if it doesn't exist, we'll copy it over, preserving id
if not self.dst.models.have(mid): if not self.dst.models.have(mid):
self.dst.models.update(src) self.dst.models.update(src)
@ -230,4 +229,13 @@ insert into revlog values (?,?,?,?,?,?,?,?,?)""", revlog)
# make sure new position is correct # make sure new position is correct
self.dst.conf['nextPos'] = self.dst.db.scalar( self.dst.conf['nextPos'] = self.dst.db.scalar(
"select max(due)+1 from cards where type = 0") "select max(due)+1 from cards where type = 0")
else:
# newly added models will have been flagged with needWizard=1; we
# need to mark reused models with needWizard=2 so the new cards
# can be generated
for mid in self._modelMap.values():
m = self.dst.models.get(mid)
if not m.get("needWizard"):
m['needWizard'] = 2
self.dst.models.save(m)
self.dst.save() self.dst.save()