diff --git a/yomi_base/japanese/dictionary.py b/yomi_base/japanese/dictionary.py index 1b9f232..a7dc00e 100644 --- a/yomi_base/japanese/dictionary.py +++ b/yomi_base/japanese/dictionary.py @@ -84,8 +84,8 @@ class Dictionary: return { 'id': kanjiId, 'character': character, - 'kunyomi': kunyomi, - 'onyomi': onyomi, + 'kunyomi': kunyomi.split(), + 'onyomi': onyomi.split(), 'glossary': glossary } diff --git a/yomi_base/reader_util.py b/yomi_base/reader_util.py index b49bfa0..5f6c4af 100644 --- a/yomi_base/reader_util.py +++ b/yomi_base/reader_util.py @@ -124,10 +124,18 @@ def markupVocabReading(definition): def copyVocabDef(definition): + glossary = '; '.join(definition['glossary']) if definition['reading']: - result = u'{expression}\t{reading}\t{glossary}\n'.format(**definition) + result = u'{0}\t{1}\t{2}\n'.format( + definition['expression'], + definition['reading'], + glossary + ) else: - result = u'{expression}\t{glossary}\n'.format(**definition) + result = u'{0}\t{1}\n'.format( + definition['expression'], + glossary + ) QtGui.QApplication.clipboard().setText(result) @@ -143,7 +151,14 @@ def markupKanji(definition): def copyKanjiDef(definition): - return QtGui.QApplication.clipboard().setText(u'{character}\t{kunyomi}\t{onyomi}\t{glossary}'.format(**definition)) + result = u'{0}\t{1}\t{2}\t{3}'.format( + definition['character'], + ', '.join(definition['kunyomi']), + ', '.join(definition['onyomi']), + ', '.join(definition['glossary']) + ) + + QtGui.QApplication.clipboard().setText(result) def buildDefHeader(): @@ -186,13 +201,18 @@ def buildVocabDef(definition, index, query): if query('vocab', markupVocabReading(definition)): links += ''.format(index) + glossary = u'
    ' + for g in definition['glossary']: + glossary += u'
  1. {0}
  2. '.format(g) + glossary += u'
' + html = u''' {0} {1}
{2} {3}
{4} -
'''.format(links, definition['expression'], reading, enumListItems(definition['glossary']), rules) +
'''.format(links, definition['expression'], reading, glossary, rules) return html @@ -213,25 +233,19 @@ def buildKanjiDef(definition, index, query): if query is not None and query('kanji', markupKanji(definition)): links += ''.format(index) - readings = ', '.join([definition['kunyomi'], definition['onyomi']]) + readings = ', '.join(definition['kunyomi'] + definition['onyomi']) + glossary = ', '.join(definition['glossary']) + html = u''' {0} {1}
[{2}]
{3}
-
'''.format(links, definition['character'], readings, enumListItems(definition['glossary'])) +
'''.format(links, definition['character'], readings, glossary) return html -def enumListItems(items): - result = u'
    ' - for item in items: - result += u'
  1. {0}
  2. '.format(item) - result += u'
' - return result - - def buildKanjiDefs(definitions, query): html = buildDefHeader() @@ -245,7 +259,7 @@ def buildKanjiDefs(definitions, query): def extractKindleDeck(filename): - words = list() + words = [] try: with sqlite3.connect(unicode(filename)) as db: @@ -258,7 +272,7 @@ def extractKindleDeck(filename): def extractWordList(filename): - words = list() + words = [] with codecs.open(unicode(filename), 'rb', 'utf-8') as fp: words = re.split('[;,\s]', fp.read())