diff --git a/anki/stdmodels.py b/anki/stdmodels.py index 991cdeb6a..ba86fc72d 100644 --- a/anki/stdmodels.py +++ b/anki/stdmodels.py @@ -10,9 +10,9 @@ models = [] # Basic ########################################################################## -def _newBasicModel(col): +def _newBasicModel(col, name=None): mm = col.models - m = mm.new(_("Basic")) + m = mm.new(name or _("Basic")) fm = mm.newField(_("Front")) mm.addField(m, fm) fm = mm.newField(_("Back")) @@ -35,15 +35,10 @@ models.append((lambda: _("Basic"), addBasicModel)) def addBasicTypingModel(col): mm = col.models - m = mm.new(_("Basic (type in the answer)")) - fm = mm.newField(_("Front")) - mm.addField(m, fm) - fm = mm.newField(_("Back")) - mm.addField(m, fm) - t = mm.newTemplate(_("Card 1")) + m = _newBasicModel(col, _("Basic (type in the answer)")) + t = m['tmpls'][0] t['qfmt'] = "{{"+_("Front")+"}}\n\n{{type:"+_("Back")+"}}" t['afmt'] = "{{"+_("Front")+"}}\n\n
\n\n{{type:"+_("Back")+"}}" - mm.addTemplate(m, t) mm.add(m) return m @@ -52,15 +47,18 @@ models.append((lambda: _("Basic (type in the answer)"), addBasicTypingModel)) # Forward & Reverse ########################################################################## -def addForwardReverse(col): +def _newForwardReverse(col, name=None): mm = col.models - m = _newBasicModel(col) - m['name'] = _("Basic (and reversed card)") + m = _newBasicModel(col, name or _("Basic (and reversed card)")) t = mm.newTemplate(_("Card 2")) t['qfmt'] = "{{"+_("Back")+"}}" t['afmt'] = "{{FrontSide}}\n\n
\n\n"+"{{"+_("Front")+"}}" mm.addTemplate(m, t) - mm.add(m) + return m + +def addForwardReverse(col): + m = _newForwardReverse(col) + col.models.add(m) return m models.append((lambda: _("Basic (and reversed card)"), addForwardReverse)) @@ -70,15 +68,12 @@ models.append((lambda: _("Basic (and reversed card)"), addForwardReverse)) def addForwardOptionalReverse(col): mm = col.models - m = _newBasicModel(col) - m['name'] = _("Basic (optional reversed card)") + m = _newForwardReverse(col, _("Basic (optional reversed card)")) av = _("Add Reverse") fm = mm.newField(av) mm.addField(m, fm) - t = mm.newTemplate(_("Card 2")) - t['qfmt'] = "{{#%s}}{{%s}}{{/%s}}" % (av, _("Back"), av) - t['afmt'] = "{{FrontSide}}\n\n
\n\n"+"{{"+_("Front")+"}}" - mm.addTemplate(m, t) + t = m['tmpls'][1] + t['qfmt'] = "{{#%s}}%s{{/%s}}" % (av, t['qfmt'], av) mm.add(m) return m