From 22aa0e39b6d7878f7a05e3a0d589a3b30e18ed9a Mon Sep 17 00:00:00 2001 From: Alex Yatskov Date: Sun, 28 May 2017 18:01:56 -0700 Subject: [PATCH] wip --- common.go | 7 ++++++- kanjidic.go | 14 +++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/common.go b/common.go index cfb371a..73628cd 100644 --- a/common.go +++ b/common.go @@ -99,11 +99,16 @@ func (kanji *dbKanji) addTags(tags ...string) { func (kanji dbKanjiList) crush() [][]interface{} { var results [][]interface{} for _, k := range kanji { + tags := k.Tags + for name, value := range k.Stats { + tags = append(tags, fmt.Sprintf("%s:%s", name, value)) + } + result := []interface{}{ k.Character, strings.Join(k.Onyomi, " "), strings.Join(k.Kunyomi, " "), - strings.Join(k.Tags, " "), + strings.Join(tags, " "), } for _, meaning := range k.Meanings { diff --git a/kanjidic.go b/kanjidic.go index 277ea19..44838f6 100644 --- a/kanjidic.go +++ b/kanjidic.go @@ -38,16 +38,16 @@ func kanjidicExtractKanji(entry jmdict.KanjidicCharacter) dbKanji { } if level := entry.Misc.JlptLevel; level != nil { - kanji.Stats["JLPT level"] = *level + kanji.Stats["jlpt level"] = *level } if grade := entry.Misc.Grade; grade != nil { - kanji.Stats["School grade"] = *grade + kanji.Stats["school grade"] = *grade if gradeInt, err := strconv.Atoi(*grade); err == nil { if gradeInt >= 1 && gradeInt <= 8 { - kanji.addTags("Jouyou") + kanji.addTags("jouyou") } else if gradeInt >= 9 && gradeInt <= 10 { - kanji.addTags("Jinmeiyou") + kanji.addTags("jinmeiyou") } } } @@ -57,7 +57,7 @@ func kanjidicExtractKanji(entry jmdict.KanjidicCharacter) dbKanji { } if counts := entry.Misc.StrokeCounts; len(counts) > 0 { - kanji.Stats["Stroke count"] = counts[0] + kanji.Stats["stroke count"] = counts[0] } if entry.ReadingMeaning != nil { @@ -100,10 +100,6 @@ func kanjidicExportDb(inputPath, outputDir, title string, stride int, pretty boo tagMeta := map[string]dbTagMeta{ "jouyou": {Notes: "included in list of regular-use characters", Category: "frequent", Order: -5}, "jinmeiyou": {Notes: "included in list of characters for use in personal names", Category: "frequent", Order: -5}, - "jlpt": {Notes: "corresponding Japanese Language Proficiency Test level"}, - "grade": {Notes: "school grade level at which the character is taught"}, - "strokes": {Notes: "number of strokes needed to write the character"}, - "heisig": {Notes: "frame number in Remembering the Kanji"}, } if title == "" {