Advertisement
Guest User

automatically add furigana

a guest
Apr 20th, 2021
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.93 KB | None | 0 0
  1. from anki import hooks
  2. def onLoadNote(n):
  3.     global mecab
  4.     if not mecab:
  5.         return
  6.     src = None
  7.     dst = None
  8.     # japanese model?
  9.     if not isJapaneseNoteType(n.model()['name']):
  10.         return
  11.     # have src and dst fields?
  12.     fields = mw.col.models.fieldNames(n.model())
  13.     for field in srcFields:
  14.         if field in fields:
  15.             src = field
  16.             break
  17.     for field in dstFields:
  18.         if field in fields:
  19.             dst = field
  20.             break
  21.     if not src or not dst:
  22.         return
  23.     # dst field exists?
  24.     if dst not in n:
  25.         return
  26.     # dst field already filled?
  27.     if n[dst]:
  28.         return
  29.     # grab source text
  30.     srcTxt = mw.col.media.strip(n[src])
  31.     if not srcTxt:
  32.         return
  33.     # update field
  34.     try:
  35.         n[dst] = mecab.reading(srcTxt)
  36.     except Exception as e:
  37.         mecab = None
  38.         raise
  39. hooks.note_will_flush.append(onLoadNote)
  40.  
  41.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement