diff --git a/testdata/tofugu.sh b/testdata/tofugu.sh new file mode 100644 index 0000000..4d2d049 --- /dev/null +++ b/testdata/tofugu.sh @@ -0,0 +1,10 @@ +for f in tofugu.d/*-0.png; do + qid=${f##*/} + qid=${qid%-*} + tags=${qid#*-} + printf ' %s: {"q":"%s", "clues":["%s"], "tags": ["%s"]}'"\n" \ + $qid \ + img:./testdata/$f \ + img:./testdata/${f%-0.png}-1.png \ + $tags +done diff --git a/testdata/tofugu.yaml b/testdata/tofugu.yaml index 14f2e79..c830396 100644 --- a/testdata/tofugu.yaml +++ b/testdata/tofugu.yaml @@ -1,14 +1,99 @@ knowledge: questions: - a-hiragana: - q: img:testdata/tofugu.d/a-hiragana-0.png - clues: - - img:testdata/tofugu.d/a-hiragana-1.png - tags: [hiragana, vowel] + a-hiragana: {"q":"img:./testdata/tofugu.d/a-hiragana-0.png", "clues":["img:./testdata/tofugu.d/a-hiragana-1.png"], "tags": ["hiragana"]} + a-katakana: {"q":"img:./testdata/tofugu.d/a-katakana-0.png", "clues":["img:./testdata/tofugu.d/a-katakana-1.png"], "tags": ["katakana"]} + chi-hiragana: {"q":"img:./testdata/tofugu.d/chi-hiragana-0.png", "clues":["img:./testdata/tofugu.d/chi-hiragana-1.png"], "tags": ["hiragana"]} + chi-katakana: {"q":"img:./testdata/tofugu.d/chi-katakana-0.png", "clues":["img:./testdata/tofugu.d/chi-katakana-1.png"], "tags": ["katakana"]} + e-hiragana: {"q":"img:./testdata/tofugu.d/e-hiragana-0.png", "clues":["img:./testdata/tofugu.d/e-hiragana-1.png"], "tags": ["hiragana"]} + e-katakana: {"q":"img:./testdata/tofugu.d/e-katakana-0.png", "clues":["img:./testdata/tofugu.d/e-katakana-1.png"], "tags": ["katakana"]} + ha-hiragana: {"q":"img:./testdata/tofugu.d/ha-hiragana-0.png", "clues":["img:./testdata/tofugu.d/ha-hiragana-1.png"], "tags": ["hiragana"]} + ha-katakana: {"q":"img:./testdata/tofugu.d/ha-katakana-0.png", "clues":["img:./testdata/tofugu.d/ha-katakana-1.png"], "tags": ["katakana"]} + he-hiragana: {"q":"img:./testdata/tofugu.d/he-hiragana-0.png", "clues":["img:./testdata/tofugu.d/he-hiragana-1.png"], "tags": ["hiragana"]} + he-katakana: {"q":"img:./testdata/tofugu.d/he-katakana-0.png", "clues":["img:./testdata/tofugu.d/he-katakana-1.png"], "tags": ["katakana"]} + hi-hiragana: {"q":"img:./testdata/tofugu.d/hi-hiragana-0.png", "clues":["img:./testdata/tofugu.d/hi-hiragana-1.png"], "tags": ["hiragana"]} + hi-katakana: {"q":"img:./testdata/tofugu.d/hi-katakana-0.png", "clues":["img:./testdata/tofugu.d/hi-katakana-1.png"], "tags": ["katakana"]} + ho-hiragana: {"q":"img:./testdata/tofugu.d/ho-hiragana-0.png", "clues":["img:./testdata/tofugu.d/ho-hiragana-1.png"], "tags": ["hiragana"]} + ho-katakana: {"q":"img:./testdata/tofugu.d/ho-katakana-0.png", "clues":["img:./testdata/tofugu.d/ho-katakana-1.png"], "tags": ["katakana"]} + hufu-hiragana: {"q":"img:./testdata/tofugu.d/hufu-hiragana-0.png", "clues":["img:./testdata/tofugu.d/hufu-hiragana-1.png"], "tags": ["hiragana"]} + hufu-katakana: {"q":"img:./testdata/tofugu.d/hufu-katakana-0.png", "clues":["img:./testdata/tofugu.d/hufu-katakana-1.png"], "tags": ["katakana"]} + i-hiragana: {"q":"img:./testdata/tofugu.d/i-hiragana-0.png", "clues":["img:./testdata/tofugu.d/i-hiragana-1.png"], "tags": ["hiragana"]} + i-katakana: {"q":"img:./testdata/tofugu.d/i-katakana-0.png", "clues":["img:./testdata/tofugu.d/i-katakana-1.png"], "tags": ["katakana"]} + ka-hiragana: {"q":"img:./testdata/tofugu.d/ka-hiragana-0.png", "clues":["img:./testdata/tofugu.d/ka-hiragana-1.png"], "tags": ["hiragana"]} + ka-katakana: {"q":"img:./testdata/tofugu.d/ka-katakana-0.png", "clues":["img:./testdata/tofugu.d/ka-katakana-1.png"], "tags": ["katakana"]} + ke-hiragana: {"q":"img:./testdata/tofugu.d/ke-hiragana-0.png", "clues":["img:./testdata/tofugu.d/ke-hiragana-1.png"], "tags": ["hiragana"]} + ke-katakana: {"q":"img:./testdata/tofugu.d/ke-katakana-0.png", "clues":["img:./testdata/tofugu.d/ke-katakana-1.png"], "tags": ["katakana"]} + ki-hiragana: {"q":"img:./testdata/tofugu.d/ki-hiragana-0.png", "clues":["img:./testdata/tofugu.d/ki-hiragana-1.png"], "tags": ["hiragana"]} + ki-katakana: {"q":"img:./testdata/tofugu.d/ki-katakana-0.png", "clues":["img:./testdata/tofugu.d/ki-katakana-1.png"], "tags": ["katakana"]} + ko-hiragana: {"q":"img:./testdata/tofugu.d/ko-hiragana-0.png", "clues":["img:./testdata/tofugu.d/ko-hiragana-1.png"], "tags": ["hiragana"]} + ko-katakana: {"q":"img:./testdata/tofugu.d/ko-katakana-0.png", "clues":["img:./testdata/tofugu.d/ko-katakana-1.png"], "tags": ["katakana"]} + ku-hiragana: {"q":"img:./testdata/tofugu.d/ku-hiragana-0.png", "clues":["img:./testdata/tofugu.d/ku-hiragana-1.png"], "tags": ["hiragana"]} + ma-hiragana: {"q":"img:./testdata/tofugu.d/ma-hiragana-0.png", "clues":["img:./testdata/tofugu.d/ma-hiragana-1.png"], "tags": ["hiragana"]} + ma-katakana: {"q":"img:./testdata/tofugu.d/ma-katakana-0.png", "clues":["img:./testdata/tofugu.d/ma-katakana-1.png"], "tags": ["katakana"]} + me-hiragana: {"q":"img:./testdata/tofugu.d/me-hiragana-0.png", "clues":["img:./testdata/tofugu.d/me-hiragana-1.png"], "tags": ["hiragana"]} + me-katakana: {"q":"img:./testdata/tofugu.d/me-katakana-0.png", "clues":["img:./testdata/tofugu.d/me-katakana-1.png"], "tags": ["katakana"]} + mi-hiragana: {"q":"img:./testdata/tofugu.d/mi-hiragana-0.png", "clues":["img:./testdata/tofugu.d/mi-hiragana-1.png"], "tags": ["hiragana"]} + mi-katakana: {"q":"img:./testdata/tofugu.d/mi-katakana-0.png", "clues":["img:./testdata/tofugu.d/mi-katakana-1.png"], "tags": ["katakana"]} + mo-hiragana: {"q":"img:./testdata/tofugu.d/mo-hiragana-0.png", "clues":["img:./testdata/tofugu.d/mo-hiragana-1.png"], "tags": ["hiragana"]} + mo-katakana: {"q":"img:./testdata/tofugu.d/mo-katakana-0.png", "clues":["img:./testdata/tofugu.d/mo-katakana-1.png"], "tags": ["katakana"]} + mu-hiragana: {"q":"img:./testdata/tofugu.d/mu-hiragana-0.png", "clues":["img:./testdata/tofugu.d/mu-hiragana-1.png"], "tags": ["hiragana"]} + mu-katakana: {"q":"img:./testdata/tofugu.d/mu-katakana-0.png", "clues":["img:./testdata/tofugu.d/mu-katakana-1.png"], "tags": ["katakana"]} + n-hiragana: {"q":"img:./testdata/tofugu.d/n-hiragana-0.png", "clues":["img:./testdata/tofugu.d/n-hiragana-1.png"], "tags": ["hiragana"]} + n-katakana: {"q":"img:./testdata/tofugu.d/n-katakana-0.png", "clues":["img:./testdata/tofugu.d/n-katakana-1.png"], "tags": ["katakana"]} + na-hiragana: {"q":"img:./testdata/tofugu.d/na-hiragana-0.png", "clues":["img:./testdata/tofugu.d/na-hiragana-1.png"], "tags": ["hiragana"]} + na-katakana: {"q":"img:./testdata/tofugu.d/na-katakana-0.png", "clues":["img:./testdata/tofugu.d/na-katakana-1.png"], "tags": ["katakana"]} + ne-hiragana: {"q":"img:./testdata/tofugu.d/ne-hiragana-0.png", "clues":["img:./testdata/tofugu.d/ne-hiragana-1.png"], "tags": ["hiragana"]} + ne-katakana: {"q":"img:./testdata/tofugu.d/ne-katakana-0.png", "clues":["img:./testdata/tofugu.d/ne-katakana-1.png"], "tags": ["katakana"]} + ni-hiragana: {"q":"img:./testdata/tofugu.d/ni-hiragana-0.png", "clues":["img:./testdata/tofugu.d/ni-hiragana-1.png"], "tags": ["hiragana"]} + ni-katakana: {"q":"img:./testdata/tofugu.d/ni-katakana-0.png", "clues":["img:./testdata/tofugu.d/ni-katakana-1.png"], "tags": ["katakana"]} + no-hiragana: {"q":"img:./testdata/tofugu.d/no-hiragana-0.png", "clues":["img:./testdata/tofugu.d/no-hiragana-1.png"], "tags": ["hiragana"]} + no-katakana: {"q":"img:./testdata/tofugu.d/no-katakana-0.png", "clues":["img:./testdata/tofugu.d/no-katakana-1.png"], "tags": ["katakana"]} + nu-hiragana: {"q":"img:./testdata/tofugu.d/nu-hiragana-0.png", "clues":["img:./testdata/tofugu.d/nu-hiragana-1.png"], "tags": ["hiragana"]} + nu-katakana: {"q":"img:./testdata/tofugu.d/nu-katakana-0.png", "clues":["img:./testdata/tofugu.d/nu-katakana-1.png"], "tags": ["katakana"]} + o-hiragana: {"q":"img:./testdata/tofugu.d/o-hiragana-0.png", "clues":["img:./testdata/tofugu.d/o-hiragana-1.png"], "tags": ["hiragana"]} + o-katakana: {"q":"img:./testdata/tofugu.d/o-katakana-0.png", "clues":["img:./testdata/tofugu.d/o-katakana-1.png"], "tags": ["katakana"]} + or-katakana: {"q":"img:./testdata/tofugu.d/or-katakana-0.png", "clues":["img:./testdata/tofugu.d/or-katakana-1.png"], "tags": ["katakana"]} + ra-hiragana: {"q":"img:./testdata/tofugu.d/ra-hiragana-0.png", "clues":["img:./testdata/tofugu.d/ra-hiragana-1.png"], "tags": ["hiragana"]} + ra-katakana: {"q":"img:./testdata/tofugu.d/ra-katakana-0.png", "clues":["img:./testdata/tofugu.d/ra-katakana-1.png"], "tags": ["katakana"]} + re-hiragana: {"q":"img:./testdata/tofugu.d/re-hiragana-0.png", "clues":["img:./testdata/tofugu.d/re-hiragana-1.png"], "tags": ["hiragana"]} + re-katakana: {"q":"img:./testdata/tofugu.d/re-katakana-0.png", "clues":["img:./testdata/tofugu.d/re-katakana-1.png"], "tags": ["katakana"]} + ri-hiragana: {"q":"img:./testdata/tofugu.d/ri-hiragana-0.png", "clues":["img:./testdata/tofugu.d/ri-hiragana-1.png"], "tags": ["hiragana"]} + ri-katakana: {"q":"img:./testdata/tofugu.d/ri-katakana-0.png", "clues":["img:./testdata/tofugu.d/ri-katakana-1.png"], "tags": ["katakana"]} + ro-hiragana: {"q":"img:./testdata/tofugu.d/ro-hiragana-0.png", "clues":["img:./testdata/tofugu.d/ro-hiragana-1.png"], "tags": ["hiragana"]} + ro-katakana: {"q":"img:./testdata/tofugu.d/ro-katakana-0.png", "clues":["img:./testdata/tofugu.d/ro-katakana-1.png"], "tags": ["katakana"]} + ru-hiragana: {"q":"img:./testdata/tofugu.d/ru-hiragana-0.png", "clues":["img:./testdata/tofugu.d/ru-hiragana-1.png"], "tags": ["hiragana"]} + ru-katakana: {"q":"img:./testdata/tofugu.d/ru-katakana-0.png", "clues":["img:./testdata/tofugu.d/ru-katakana-1.png"], "tags": ["katakana"]} + sa-hiragana: {"q":"img:./testdata/tofugu.d/sa-hiragana-0.png", "clues":["img:./testdata/tofugu.d/sa-hiragana-1.png"], "tags": ["hiragana"]} + sa-katakana: {"q":"img:./testdata/tofugu.d/sa-katakana-0.png", "clues":["img:./testdata/tofugu.d/sa-katakana-1.png"], "tags": ["katakana"]} + se-hiragana: {"q":"img:./testdata/tofugu.d/se-hiragana-0.png", "clues":["img:./testdata/tofugu.d/se-hiragana-1.png"], "tags": ["hiragana"]} + se-katakana: {"q":"img:./testdata/tofugu.d/se-katakana-0.png", "clues":["img:./testdata/tofugu.d/se-katakana-1.png"], "tags": ["katakana"]} + shi-hiragana: {"q":"img:./testdata/tofugu.d/shi-hiragana-0.png", "clues":["img:./testdata/tofugu.d/shi-hiragana-1.png"], "tags": ["hiragana"]} + shi-katakana: {"q":"img:./testdata/tofugu.d/shi-katakana-0.png", "clues":["img:./testdata/tofugu.d/shi-katakana-1.png"], "tags": ["katakana"]} + so-hiragana: {"q":"img:./testdata/tofugu.d/so-hiragana-0.png", "clues":["img:./testdata/tofugu.d/so-hiragana-1.png"], "tags": ["hiragana"]} + so-katakana: {"q":"img:./testdata/tofugu.d/so-katakana-0.png", "clues":["img:./testdata/tofugu.d/so-katakana-1.png"], "tags": ["katakana"]} + su-hiragana: {"q":"img:./testdata/tofugu.d/su-hiragana-0.png", "clues":["img:./testdata/tofugu.d/su-hiragana-1.png"], "tags": ["hiragana"]} + su-katakana: {"q":"img:./testdata/tofugu.d/su-katakana-0.png", "clues":["img:./testdata/tofugu.d/su-katakana-1.png"], "tags": ["katakana"]} + ta-hiragana: {"q":"img:./testdata/tofugu.d/ta-hiragana-0.png", "clues":["img:./testdata/tofugu.d/ta-hiragana-1.png"], "tags": ["hiragana"]} + ta-katakana: {"q":"img:./testdata/tofugu.d/ta-katakana-0.png", "clues":["img:./testdata/tofugu.d/ta-katakana-1.png"], "tags": ["katakana"]} + te-hiragana: {"q":"img:./testdata/tofugu.d/te-hiragana-0.png", "clues":["img:./testdata/tofugu.d/te-hiragana-1.png"], "tags": ["hiragana"]} + te-katakana: {"q":"img:./testdata/tofugu.d/te-katakana-0.png", "clues":["img:./testdata/tofugu.d/te-katakana-1.png"], "tags": ["katakana"]} + to-hiragana: {"q":"img:./testdata/tofugu.d/to-hiragana-0.png", "clues":["img:./testdata/tofugu.d/to-hiragana-1.png"], "tags": ["hiragana"]} + to-katakana: {"q":"img:./testdata/tofugu.d/to-katakana-0.png", "clues":["img:./testdata/tofugu.d/to-katakana-1.png"], "tags": ["katakana"]} + tsu-hiragana: {"q":"img:./testdata/tofugu.d/tsu-hiragana-0.png", "clues":["img:./testdata/tofugu.d/tsu-hiragana-1.png"], "tags": ["hiragana"]} + tsu-katakana: {"q":"img:./testdata/tofugu.d/tsu-katakana-0.png", "clues":["img:./testdata/tofugu.d/tsu-katakana-1.png"], "tags": ["katakana"]} + u-hiragana: {"q":"img:./testdata/tofugu.d/u-hiragana-0.png", "clues":["img:./testdata/tofugu.d/u-hiragana-1.png"], "tags": ["hiragana"]} + wa-hiragana: {"q":"img:./testdata/tofugu.d/wa-hiragana-0.png", "clues":["img:./testdata/tofugu.d/wa-hiragana-1.png"], "tags": ["hiragana"]} + wa-katakana: {"q":"img:./testdata/tofugu.d/wa-katakana-0.png", "clues":["img:./testdata/tofugu.d/wa-katakana-1.png"], "tags": ["katakana"]} + wo-hiragana: {"q":"img:./testdata/tofugu.d/wo-hiragana-0.png", "clues":["img:./testdata/tofugu.d/wo-hiragana-1.png"], "tags": ["hiragana"]} + wo-katakana: {"q":"img:./testdata/tofugu.d/wo-katakana-0.png", "clues":["img:./testdata/tofugu.d/wo-katakana-1.png"], "tags": ["katakana"]} + ya-hiragana: {"q":"img:./testdata/tofugu.d/ya-hiragana-0.png", "clues":["img:./testdata/tofugu.d/ya-hiragana-1.png"], "tags": ["hiragana"]} + ya-katakana: {"q":"img:./testdata/tofugu.d/ya-katakana-0.png", "clues":["img:./testdata/tofugu.d/ya-katakana-1.png"], "tags": ["katakana"]} + yo-hiragana: {"q":"img:./testdata/tofugu.d/yo-hiragana-0.png", "clues":["img:./testdata/tofugu.d/yo-hiragana-1.png"], "tags": ["hiragana"]} + yo-katakana: {"q":"img:./testdata/tofugu.d/yo-katakana-0.png", "clues":["img:./testdata/tofugu.d/yo-katakana-1.png"], "tags": ["katakana"]} + yu-hiragana: {"q":"img:./testdata/tofugu.d/yu-hiragana-0.png", "clues":["img:./testdata/tofugu.d/yu-hiragana-1.png"], "tags": ["hiragana"]} + yu-katakana: {"q":"img:./testdata/tofugu.d/yu-katakana-0.png", "clues":["img:./testdata/tofugu.d/yu-katakana-1.png"], "tags": ["katakana"]} users: breel: tags: assignments: - hiragana - katakana - history: {}