mirror of
https://github.com/ankitects/anki.git
synced 2025-09-20 23:12:21 -04:00
add reports for seen and non-jouyou kanji
This commit is contained in:
parent
479f38fab2
commit
3b8df0c337
1 changed files with 28 additions and 11 deletions
|
@ -539,32 +539,49 @@ cards.factId = fields.factId
|
||||||
out += "</ul>"
|
out += "</ul>"
|
||||||
return out
|
return out
|
||||||
|
|
||||||
def missingReport(self):
|
def missingReport(self, check=None):
|
||||||
out = "<h1>Missing kanji</h1>"
|
if not check:
|
||||||
|
check = lambda x, y: x not in y
|
||||||
|
out = _("<h1>Missing</h1>")
|
||||||
|
else:
|
||||||
|
out = _("<h1>Seen</h1>")
|
||||||
for grade in range(1, 9):
|
for grade in range(1, 9):
|
||||||
missing = "".join(self.missingInGrade(grade))
|
missing = "".join(self.missingInGrade(grade, check))
|
||||||
if not missing:
|
if not missing:
|
||||||
continue
|
continue
|
||||||
out += "<h2>" + self.kanjiGrades[grade][0] + "</h2>"
|
out += "<h2>" + self.kanjiGrades[grade][0] + "</h2>"
|
||||||
out += "<font size=+4>"
|
out += "<font size=+4>"
|
||||||
while 1:
|
out += self.mkEdict(missing)
|
||||||
if not missing:
|
|
||||||
break
|
|
||||||
# edict will take up to about 10 kanji at once
|
|
||||||
out += self.edictKanjiLink(missing[0:10])
|
|
||||||
missing = missing[10:]
|
|
||||||
out += "</font>"
|
out += "</font>"
|
||||||
return out + "<br/>"
|
return out + "<br/>"
|
||||||
|
|
||||||
|
def mkEdict(self, kanji):
|
||||||
|
out = "<font size=+4>"
|
||||||
|
while 1:
|
||||||
|
if not kanji:
|
||||||
|
out += "</font>"
|
||||||
|
return out
|
||||||
|
# edict will take up to about 10 kanji at once
|
||||||
|
out += self.edictKanjiLink(kanji[0:10])
|
||||||
|
kanji = kanji[10:]
|
||||||
|
|
||||||
|
def seenReport(self):
|
||||||
|
return self.missingReport(lambda x, y: x in y)
|
||||||
|
|
||||||
|
def nonJouyouReport(self):
|
||||||
|
out = _("<h1>Non-Jouyou</h1>")
|
||||||
|
out += self.mkEdict("".join(self.kanjiSets[0]))
|
||||||
|
return out + "<br/>"
|
||||||
|
|
||||||
def edictKanjiLink(self, kanji):
|
def edictKanjiLink(self, kanji):
|
||||||
base="http://www.csse.monash.edu.au/~jwb/cgi-bin/wwwjdic.cgi?1MMJ"
|
base="http://www.csse.monash.edu.au/~jwb/cgi-bin/wwwjdic.cgi?1MMJ"
|
||||||
url=base + kanji
|
url=base + kanji
|
||||||
return '<a href="%s">%s</a>' % (url, kanji)
|
return '<a href="%s">%s</a>' % (url, kanji)
|
||||||
|
|
||||||
def missingInGrade(self, gradeNum):
|
def missingInGrade(self, gradeNum, check):
|
||||||
existingKanji = self.kanjiSets[gradeNum]
|
existingKanji = self.kanjiSets[gradeNum]
|
||||||
totalKanji = self.kanjiGrades[gradeNum][1]
|
totalKanji = self.kanjiGrades[gradeNum][1]
|
||||||
return [k for k in totalKanji if k not in existingKanji]
|
return [k for k in totalKanji if check(k, existingKanji)]
|
||||||
|
|
||||||
kanjiGrades = [
|
kanjiGrades = [
|
||||||
(u'non-jouyou', ''),
|
(u'non-jouyou', ''),
|
||||||
|
|
Loading…
Reference in a new issue