mirror of
https://github.com/ankitects/anki.git
synced 2025-09-25 01:06:35 -04:00
show only user tags by default, provide model and card model as options
This commit is contained in:
parent
2d5e58ac99
commit
e1aa79336c
4 changed files with 16 additions and 10 deletions
|
@ -87,7 +87,7 @@ class Card(object):
|
|||
d = {}
|
||||
for f in self.fact.model.fieldModels:
|
||||
d[f.name] = (f.id, self.fact[f.name])
|
||||
qa = formatQA(None, fact.modelId, d, self.allTags(), cardModel)
|
||||
qa = formatQA(None, fact.modelId, d, self.splitTags(), cardModel)
|
||||
self.question = qa['question']
|
||||
self.answer = qa['answer']
|
||||
|
||||
|
@ -155,6 +155,9 @@ class Card(object):
|
|||
self.firstAnswered = time.time()
|
||||
self.setModified()
|
||||
|
||||
def splitTags(self):
|
||||
return (self.fact.tags, self.fact.model.tags, self.cardModel.name)
|
||||
|
||||
def allTags(self):
|
||||
"Non-canonified string of all tags."
|
||||
return (self.fact.tags + "," +
|
||||
|
|
13
anki/deck.py
13
anki/deck.py
|
@ -1198,9 +1198,10 @@ and %s in %s""" % (col, ids2str(ids)))
|
|||
else:
|
||||
mod = ""
|
||||
# tags
|
||||
tags = dict(self.shortTagsList(
|
||||
tags = dict([(x[0], x[1:]) for x in
|
||||
self.splitTagsList(
|
||||
where="and cards.id in %s" %
|
||||
ids2str([x[0] for x in ids])))
|
||||
ids2str([x[0] for x in ids]))])
|
||||
facts = {}
|
||||
# fields
|
||||
for k, g in groupby(self.s.all("""
|
||||
|
@ -1245,12 +1246,12 @@ cardModels.name %s from cards, facts, models, cardModels where
|
|||
cards.factId == facts.id and facts.modelId == models.id
|
||||
and cards.cardModelId = cardModels.id %s""" % (priority, where))
|
||||
|
||||
def shortTagsList(self, where=""):
|
||||
# no card model
|
||||
def splitTagsList(self, where=""):
|
||||
return self.s.all("""
|
||||
select cards.id, facts.tags || "," || models.tags
|
||||
from cards, facts, models where
|
||||
select cards.id, facts.tags, models.tags, cardModels.name
|
||||
from cards, facts, models, cardModels where
|
||||
cards.factId == facts.id and facts.modelId == models.id
|
||||
and cards.cardModelId = cardModels.id
|
||||
%s""" % where)
|
||||
|
||||
def cardsWithNoTags(self):
|
||||
|
|
|
@ -132,7 +132,7 @@ class Fact(object):
|
|||
for f in self.model.fieldModels:
|
||||
d[f.name] = (f.id, self[f.name])
|
||||
for card in self.cards:
|
||||
qa = formatQA(None, self.modelId, d, card.allTags(), card.cardModel)
|
||||
qa = formatQA(None, self.modelId, d, card.splitTags(), card.cardModel)
|
||||
card.question = qa['question']
|
||||
card.answer = qa['answer']
|
||||
card.setModified()
|
||||
|
|
|
@ -118,8 +118,10 @@ def formatQA(cid, mid, fact, tags, cm):
|
|||
hexifyID(v[0]), v[1])
|
||||
else:
|
||||
fields[k] = u""
|
||||
fields['tags'] = canonifyTags(tags)
|
||||
fields['Tags'] = fields['tags']
|
||||
fields['tags'] = tags[0]
|
||||
fields['Tags'] = tags[0]
|
||||
fields['modelTags'] = tags[1]
|
||||
fields['cardModel'] = tags[2]
|
||||
# render q & a
|
||||
ret = []
|
||||
for (type, format) in (("question", cm.qformat),
|
||||
|
|
Loading…
Reference in a new issue