diff --git a/anki/features/chinese/__init__.py b/anki/features/chinese/__init__.py index dda2e4e10..9eefb4bb2 100644 --- a/anki/features/chinese/__init__.py +++ b/anki/features/chinese/__init__.py @@ -7,6 +7,11 @@ from anki.utils import findTag, stripHTML from anki.hooks import addHook from anki.db import * +cantoneseTag = "Cantonese" +mandarinTag = "Mandarin" +srcField = "Expression" +dstField = "Reading" + class UnihanController(object): def __init__(self, target): @@ -61,19 +66,19 @@ class ChineseGenerator(object): unihan = ChineseGenerator() def onFocusLost(fact, field): - if field.name != "Expression": + if field.name != srcField: return - if findTag("Cantonese", fact.model.tags): + if findTag(cantoneseTag, fact.model.tags): type = "cantonese" - elif findTag("Mandarin", fact.model.tags): + elif findTag(mandarinTag, fact.model.tags): type = "mandarin" else: return try: - if fact['Reading']: + if fact[dstField]: return except: return - fact['Reading'] = unihan.toReading(type, field.value) + fact[dstField] = unihan.toReading(type, field.value) addHook('fact.focusLost', onFocusLost) diff --git a/anki/features/japanese.py b/anki/features/japanese.py index e9ee3f4e6..8fce19b78 100644 --- a/anki/features/japanese.py +++ b/anki/features/japanese.py @@ -6,6 +6,10 @@ import sys, os from anki.utils import findTag, stripHTML from anki.hooks import addHook +modelTag = "Japanese" +srcField = "Expression" +dstField = "Reading" + class KakasiController(object): def __init__(self): # add our pre-packaged kakasi to the path @@ -90,17 +94,17 @@ if not kakasi.available(): def onFocusLost(fact, field): if not kakasi: return - if field.name != "Expression": + if field.name != srcField: return - if not findTag("Japanese", fact.model.tags): + if not findTag(modelTag, fact.model.tags): return try: - if fact['Reading']: + if fact[dstField]: return except: return tmp = kakasi.toFurigana(field.value) if tmp != field.value: - fact['Reading'] = tmp + fact[dstField] = tmp addHook('fact.focusLost', onFocusLost)