アドオンの設定
設定用の JSON
JSON 形式の config.json ファイルを含めると、Anki はユーザーがアドオンマネージャーから編集できるようになります。
簡単な config.json の例:
{"myvar": 5}
config.md の例:
これは、このアドオンの設定に関するドキュメントで、*markdown* 形式で書かれています。
アドオンのコードは以下の通りです:
from aqt import mw
config = mw.addonManager.getConfig(__name__)
print("var is", config['myvar'])
アドオンをアップデートする際、config.json を変更することができます。新しく追加されたキーは、既存の設定にマージされます。
config.json で既存のキーの値を変更した場合、設定をカスタマイズしているユーザーは、「restore defaults」ボタンを使用しない限り、古い値を表示し続けることになります。
プログラム的に設定を変更する必要がある場合、変更内容を保存するには次のようにします:
mw.addonManager.writeConfig(__name__, config)
config.json ファイルが存在しない場合、たとえ writeConfig() を呼び出したとしても、getConfig() は None を返します。
独自の GUI でオプションを管理するアドオンでは、config ボタンをクリックするとその GUI が表示されます:
mw.addonManager.setConfigAction(__name__, myOptionsFunc)
アンダースコアで始まるキー名は避けてください。これらは Anki が将来使用するために予約されています。
ユーザーファイル
アドオンが単純なキーと値以外の設定データを必要とする場合、アドオンのフォルダのルートにある user_files という特別なフォルダを使用することができます。このフォルダに配置されたファイルは、アドオンがアップグレードされても保存されます。アドオンフォルダ内の他のファイルはすべて アップグレード時に削除されます。
user_files フォルダが確実にユーザー用に作成されるようにするには、アドオンを圧縮する前に README.txt などのファイルをその中に入れておくとよいでしょう。
Anki がアドオンをアップグレードするとき、user_files フォルダに既に存在する .zip 内のファイルは無視されます。