wrap the q/a in the card template div

This commit is contained in:
Damien Elmes 2011-03-22 18:04:17 +09:00
parent 8170b2a2f5
commit 1d91e459ec
4 changed files with 9 additions and 6 deletions

View file

@ -100,10 +100,10 @@ streak=?, lapses=?, grade=?, cycles=?, edue=? where id = ?""",
self.grade, self.cycles, self.edue, self.id) self.grade, self.cycles, self.edue, self.id)
def q(self): def q(self):
return self._getQA()['q'] return self._withClass(self._getQA()['q'])
def a(self): def a(self):
return self._getQA()['a'] return self._withClass(self._getQA()['a'])
def _getQA(self, reload=False): def _getQA(self, reload=False):
if not self._qa or reload: if not self._qa or reload:
@ -115,6 +115,9 @@ streak=?, lapses=?, grade=?, cycles=?, edue=? where id = ?""",
self._qa = self.deck._renderQA(self.model(), gname, data) self._qa = self.deck._renderQA(self.model(), gname, data)
return self._qa return self._qa
def _withClass(self, txt):
return '<div class="%s">%s</div>' % (self.cssClass(), txt)
def _reviewData(self, reload=False): def _reviewData(self, reload=False):
"Fetch the model and fact." "Fetch the model and fact."
if not self._rd or reload: if not self._rd or reload:
@ -132,7 +135,7 @@ streak=?, lapses=?, grade=?, cycles=?, edue=? where id = ?""",
def template(self): def template(self):
return self._reviewData()[1].templates[self.ord] return self._reviewData()[1].templates[self.ord]
def bgClass(self): def cssClass(self):
return "cm%s-%s" % (hexifyID(self.model().id), return "cm%s-%s" % (hexifyID(self.model().id),
hexifyID(self.template()['ord'])) hexifyID(self.template()['ord']))

View file

@ -112,7 +112,7 @@ insert or replace into models values (?, ?, ?, ?, ?, ?, ?)""",
(f['font'], f['qsize'], f['qcol'], f['rtl'], f['pre'])) (f['font'], f['qsize'], f['qcol'], f['rtl'], f['pre']))
for f in self.fields]) for f in self.fields])
# templates # templates
css += "".join(["#cm%s-%s {text-align:%s;background:%s}\n" % ( css += "".join([".cm%s-%s {text-align:%s;background:%s}\n" % (
hexifyID(self.id), hexifyID(t['ord']), hexifyID(self.id), hexifyID(t['ord']),
("center", "left", "right")[t['align']], t['bg']) ("center", "left", "right")[t['align']], t['bg'])
for t in self.templates]) for t in self.templates])

View file

@ -93,7 +93,7 @@ def test_misc():
f['Back'] = u'2' f['Back'] = u'2'
d.addFact(f) d.addFact(f)
c = f.cards()[0] c = f.cards()[0]
assert c.bgClass() == "cm1-0" assert c.cssClass() == "cm1-0"
assert c.fact().id == 1 assert c.fact().id == 1
assert c.model().id == 1 assert c.model().id == 1
assert c.template()['ord'] == 0 assert c.template()['ord'] == 0

View file

@ -97,7 +97,7 @@ def test_text():
f = d.newFact() f = d.newFact()
f['Front'] = u'hello<b>world' f['Front'] = u'hello<b>world'
d.addFact(f) d.addFact(f)
assert f.cards()[0].q() == "helloworld" assert "helloworld" in f.cards()[0].q()
def test_cloze(): def test_cloze():
d = getEmptyDeck() d = getEmptyDeck()