From fe0e22732534005c649f2b3021126b412fab60b7 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Thu, 19 Apr 2012 09:58:12 +0900 Subject: [PATCH] don't upgrade clozes while iterating --- anki/storage.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/anki/storage.py b/anki/storage.py index 82db8aa0e..fef838469 100644 --- a/anki/storage.py +++ b/anki/storage.py @@ -82,12 +82,15 @@ def _upgrade(col, ver): col.decks.save(d) if ver < 4: col.modSchema() + clozes = [] for m in col.models.all(): if not "{{cloze:" in m['tmpls'][0]['qfmt']: m['type'] = MODEL_STD + col.models.save(m) else: - _upgradeClozeModel(col, m) - col.models.save(m) + clozes.append(m) + for m in clozes: + _upgradeClozeModel(col, m) col.db.execute("update col set ver = 4") def _upgradeClozeModel(col, m): @@ -106,6 +109,7 @@ def _upgradeClozeModel(col, m): col.models.remTemplate(m, r) del m['tmpls'][1:] col.models._updateTemplOrds(m) + col.models.save(m) # Creating a new collection ######################################################################