Управление типами заметок в Anki: методы и примеры кода

Для управления типами заметок в Anki вы можете использовать API AnkiConnect, который позволяет вам программно взаимодействовать с Anki. Вот несколько методов, которые можно использовать с примерами кода:

  1. Получить типы заметок:
    Этот метод извлекает все типы заметок в Anki.
import requests
import json
def get_note_types():
    payload = {
        "action": "deckNames",
        "version": 6
    }
    response = requests.post("http://localhost:8765", json=payload)
    note_types = json.loads(response.text)
    return note_types
  1. Создать тип заметки:
    Этот метод позволяет создать новый тип заметки в Anki.
import requests
import json
def create_note_type(name, fields):
    payload = {
        "action": "createModel",
        "version": 6,
        "params": {
            "modelName": name,
            "inOrderFields": fields,
            "css": "",
            "cardTemplates": []
        }
    }
    response = requests.post("http://localhost:8765", json=payload)
    return response.text
  1. Обновить тип заметки.
    Этот метод обновляет существующий тип заметки в Anki.
import requests
import json
def update_note_type(note_type_id, name, fields):
    payload = {
        "action": "updateModelTemplates",
        "version": 6,
        "params": {
            "model": {
                "id": note_type_id,
                "name": name,
                "fields": fields
            }
        }
    }
    response = requests.post("http://localhost:8765", json=payload)
    return response.text
  1. Удалить тип заметки:
    Этот метод удаляет тип заметки в Anki.
import requests
import json
def delete_note_type(note_type_id):
    payload = {
        "action": "deleteModel",
        "version": 6,
        "params": {
            "modelName": note_type_id
        }
    }
    response = requests.post("http://localhost:8765", json=payload)
    return response.text

соответственно, если у вас другие настройки.