示例#1
0
 def test_invalid_before_valid_writes_valid(self):
     kc = KanjiColorizer()
     kc.settings.characters = u'Лあ'
     kc.write_all()
     self.assertOpenedFileForWriting(u'あ.svg')
示例#2
0
 def test_writes_correct_two_characters(self):
     kc = KanjiColorizer()
     kc.settings.characters = u'漢字'
     kc.write_all()
     self.assertOpenedFileForWriting(u'漢.svg')
     self.assertOpenedFileForWriting(u'字.svg')
示例#3
0
 def test_invalid_character_doesnt_write_file(self):
     kc = KanjiColorizer()
     kc.settings.characters = u'Л'
     kc.write_all()
     self.assertDidntOpenFileForWriting(u'Л.svg')
示例#4
0
 def test_writes_only_one_character(self):
     kc = KanjiColorizer()
     kc.settings.characters = u'あ'
     kc.write_all()
     self.assertNumberFilesOpenedForWriting(1)
示例#5
0
 def test_writes_exactly_two_characters(self):
     kc = KanjiColorizer()
     kc.settings.characters = u'漢字'
     kc.write_all()
     self.assertNumberFilesOpenedForWriting(2)
示例#6
0
 def test_default_writes_correct_number(self):
     kc = KanjiColorizer()
     kc.write_all()
     self.assertNumberFilesOpenedForWriting(TOTAL_NUMBER_CHARACTERS)
示例#7
0
 def test_default_writes_some_characters(self):
     kc = KanjiColorizer()
     kc.write_all()
     self.assertOpenedFileForWriting(u'a.svg')
     self.assertOpenedFileForWriting(u'あ.svg')
示例#8
0
 def test_nonascii_sets_setting(self):
     kc = KanjiColorizer(u'--characters あ')
     self.assertEqual(kc.settings.characters, u'あ')
示例#9
0
 def test_multiple_characters_sets_setting(self):
     kc = KanjiColorizer(u'--characters 漢字')
     self.assertEqual(kc.settings.characters, u'漢字')
示例#10
0
 def test_ascii_sets_setting(self):
     kc = KanjiColorizer('--characters a')
     self.assertEqual(kc.settings.characters, u'a')
示例#11
0
 def test_invalid_after_valid_writes_valid(self):
     kc = KanjiColorizer()
     kc.settings.characters = 'あЛ'
     kc.write_all()
     self.assertOpenedFileForWriting('あ.svg')
示例#12
0
 def test_writes_a_character(self):
     kc = KanjiColorizer()
     kc.settings.characters = 'あ'
     kc.write_all()
     self.assertOpenedFileForWriting('あ.svg')
     self.assertNumberFilesOpenedForWriting(1)
示例#13
0
#!/usr/bin/env python2
# -*- coding: UTF-8 -*-

# kanjicolorizer.py is part of kanji-colorize which makes KanjiVG data
# into colored stroke order diagrams
#
# Copyright 2012 Cayenne Boyer
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public
# License along with this program.  If not, see
# <http://www.gnu.org/licenses/>.

from kanjicolorizer.colorizer import KanjiColorizer

if __name__ == "__main__":
    kc = KanjiColorizer()
    kc.read_cl_args()
    kc.write_all()
示例#14
0
# END CONFIGURATION

from anki.hooks import addHook
from aqt import mw
from aqt.utils import showInfo, askUser
from aqt.qt import *
from kanjicolorizer.colorizer import (KanjiVG, KanjiColorizer,
                                      InvalidCharacterError)
import os
from codecs import open
import string

srcField = 'Kanji'
dstField = 'Diagram'

kc = KanjiColorizer(config)


def modelIsCorrectType(model):
    '''
    Returns True if model has Japanese in the name and has both srcField
    and dstField; otherwise returns False
    '''
    # Does the model name have Japanese in it?
    model_name = model['name'].lower()
    fields = mw.col.models.fieldNames(model)
    return ('japanese' in model_name and srcField in fields
            and dstField in fields)


def characters_to_colorize(s):