Hello,
I develop a: an addon for writing Hanzi in Anki. In the newest version of Anki, I think around 2.1.30, card.template()called by a
card_will_show` hook in the template editor starts throwing:
Traceback (most recent call last):
File "aqt\progress.py", line 43, in handler
File "aqt\clayout.py", line 468, in _renderPreview
File "aqt\gui_hooks.py", line 787, in __call__
File "D:\AnkiData\addons21\maobi\__init__.py", line 31, in my_hook
sys.stderr.write(str(card.template()))
File "anki\cards.py", line 155, in template
File "anki\cards.py", line 146, in note_type
File "anki\cards.py", line 142, in note
File "anki\collection.py", line 309, in getNote
File "anki\notes.py", line 37, in __init__
TypeError: 'NoneType' object is not subscriptable
Minimal addon for testing:
import sys
from aqt import gui_hooks
def my_hook(html, card, context):
sys.stderr.write(str(card))
sys.stderr.write("\n")
sys.stderr.write(str(card.template()))
sys.stderr.write("\n")
gui_hooks.card_will_show.append(my_hook)
Users reported a bug on my Github, there is a more detailed description. It worked before so I assume that is a regression in Anki itself. I looked in the Anki source but have no idea why the error happens, as it is related to some database access which I am not familiar with.