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 = {}
|
d = {}
|
||||||
for f in self.fact.model.fieldModels:
|
for f in self.fact.model.fieldModels:
|
||||||
d[f.name] = (f.id, self.fact[f.name])
|
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.question = qa['question']
|
||||||
self.answer = qa['answer']
|
self.answer = qa['answer']
|
||||||
|
|
||||||
|
@ -155,6 +155,9 @@ class Card(object):
|
||||||
self.firstAnswered = time.time()
|
self.firstAnswered = time.time()
|
||||||
self.setModified()
|
self.setModified()
|
||||||
|
|
||||||
|
def splitTags(self):
|
||||||
|
return (self.fact.tags, self.fact.model.tags, self.cardModel.name)
|
||||||
|
|
||||||
def allTags(self):
|
def allTags(self):
|
||||||
"Non-canonified string of all tags."
|
"Non-canonified string of all tags."
|
||||||
return (self.fact.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:
|
else:
|
||||||
mod = ""
|
mod = ""
|
||||||
# tags
|
# tags
|
||||||
tags = dict(self.shortTagsList(
|
tags = dict([(x[0], x[1:]) for x in
|
||||||
|
self.splitTagsList(
|
||||||
where="and cards.id in %s" %
|
where="and cards.id in %s" %
|
||||||
ids2str([x[0] for x in ids])))
|
ids2str([x[0] for x in ids]))])
|
||||||
facts = {}
|
facts = {}
|
||||||
# fields
|
# fields
|
||||||
for k, g in groupby(self.s.all("""
|
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
|
cards.factId == facts.id and facts.modelId == models.id
|
||||||
and cards.cardModelId = cardModels.id %s""" % (priority, where))
|
and cards.cardModelId = cardModels.id %s""" % (priority, where))
|
||||||
|
|
||||||
def shortTagsList(self, where=""):
|
def splitTagsList(self, where=""):
|
||||||
# no card model
|
|
||||||
return self.s.all("""
|
return self.s.all("""
|
||||||
select cards.id, facts.tags || "," || models.tags
|
select cards.id, facts.tags, models.tags, cardModels.name
|
||||||
from cards, facts, models where
|
from cards, facts, models, cardModels where
|
||||||
cards.factId == facts.id and facts.modelId == models.id
|
cards.factId == facts.id and facts.modelId == models.id
|
||||||
|
and cards.cardModelId = cardModels.id
|
||||||
%s""" % where)
|
%s""" % where)
|
||||||
|
|
||||||
def cardsWithNoTags(self):
|
def cardsWithNoTags(self):
|
||||||
|
|
|
@ -132,7 +132,7 @@ class Fact(object):
|
||||||
for f in self.model.fieldModels:
|
for f in self.model.fieldModels:
|
||||||
d[f.name] = (f.id, self[f.name])
|
d[f.name] = (f.id, self[f.name])
|
||||||
for card in self.cards:
|
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.question = qa['question']
|
||||||
card.answer = qa['answer']
|
card.answer = qa['answer']
|
||||||
card.setModified()
|
card.setModified()
|
||||||
|
|
|
@ -118,8 +118,10 @@ def formatQA(cid, mid, fact, tags, cm):
|
||||||
hexifyID(v[0]), v[1])
|
hexifyID(v[0]), v[1])
|
||||||
else:
|
else:
|
||||||
fields[k] = u""
|
fields[k] = u""
|
||||||
fields['tags'] = canonifyTags(tags)
|
fields['tags'] = tags[0]
|
||||||
fields['Tags'] = fields['tags']
|
fields['Tags'] = tags[0]
|
||||||
|
fields['modelTags'] = tags[1]
|
||||||
|
fields['cardModel'] = tags[2]
|
||||||
# render q & a
|
# render q & a
|
||||||
ret = []
|
ret = []
|
||||||
for (type, format) in (("question", cm.qformat),
|
for (type, format) in (("question", cm.qformat),
|
||||||
|
|
Loading…
Reference in a new issue