From da856552b29b97c0499df7bb09a2b69455a90632 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Thu, 25 Oct 2012 21:15:15 +0900 Subject: [PATCH] forward/reverse models --- anki/stdmodels.py | 32 ++++++++++++++++++++++++++++++++ anki/storage.py | 5 ++++- 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/anki/stdmodels.py b/anki/stdmodels.py index e675e8d1f..ef59c718d 100644 --- a/anki/stdmodels.py +++ b/anki/stdmodels.py @@ -26,6 +26,38 @@ def addBasicModel(col): models.append((lambda: _("Basic"), addBasicModel)) +# Forward & Reverse +########################################################################## + +def addForwardReverse(col): + mm = col.models + m = addBasicModel(col) + m['name'] = _("Basic (and reversed card)") + t = mm.newTemplate(_("Card 2")) + t['qfmt'] = "{{"+_("Back")+"}}" + t['afmt'] = "{{FrontSide}}\n\n
\n\n"+"{{"+_("Front")+"}}" + mm.addTemplate(m, t) + return m + +models.append((lambda: _("Forward & Reverse"), addForwardReverse)) + +# Forward & Optional Reverse +########################################################################## + +def addForwardOptionalReverse(col): + mm = col.models + m = addBasicModel(col) + m['name'] = _("Basic (optional reversed card)") + fm = mm.newField(_("Add Reverse")) + mm.addField(m, fm) + t = mm.newTemplate(_("Card 2")) + t['qfmt'] = "{{#Add Reverse}}{{"+_("Back")+"}}{{/Add Reverse}}" + t['afmt'] = "{{FrontSide}}\n\n
\n\n"+"{{"+_("Front")+"}}" + mm.addTemplate(m, t) + return m + +models.append((lambda: _("Forward & Optional Reverse"), addForwardOptionalReverse)) + # Cloze ########################################################################## diff --git a/anki/storage.py b/anki/storage.py index 098becc9f..eb87f7cdd 100644 --- a/anki/storage.py +++ b/anki/storage.py @@ -8,7 +8,8 @@ from anki.utils import intTime, ids2str, json from anki.db import DB from anki.collection import _Collection from anki.consts import * -from anki.stdmodels import addBasicModel, addClozeModel +from anki.stdmodels import addBasicModel, addClozeModel, addForwardReverse, \ + addForwardOptionalReverse def Collection(path, lock=True, server=False, sync=True): "Open a new or existing collection. Path must be unicode." @@ -38,6 +39,8 @@ def Collection(path, lock=True, server=False, sync=True): elif create: # add in reverse order so basic is default addClozeModel(col) + addForwardOptionalReverse(col) + addForwardReverse(col) addBasicModel(col) col.save() if lock: