Add shared config and update tool scripts
This commit is contained in:
47
anki_common.py
Normal file
47
anki_common.py
Normal file
@@ -0,0 +1,47 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Shared configuration and AnkiConnect helpers for the toolkit scripts."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
from typing import Dict
|
||||
|
||||
import requests
|
||||
|
||||
ANKI_CONNECT_URL = "http://localhost:8765"
|
||||
|
||||
LANG_MAP: Dict[str, str] = {
|
||||
"jp": "japanese",
|
||||
"es": "spanish",
|
||||
}
|
||||
|
||||
TRANSCRIPT_LANG_MAP: Dict[str, str] = {
|
||||
"jp": "ja",
|
||||
"es": "es",
|
||||
}
|
||||
|
||||
DECK_TO_LANGUAGE: Dict[str, str] = {
|
||||
"日本語": "japanese",
|
||||
"Español": "spanish",
|
||||
}
|
||||
|
||||
DEFAULT_ANKI_MEDIA_DIR = os.path.expanduser(
|
||||
"~/.var/app/net.ankiweb.Anki/data/Anki2/User 1/collection.media"
|
||||
)
|
||||
|
||||
DEFAULT_AUDIO_OUTPUT_ROOT = os.path.expanduser("~/Languages/Anki/anki-audio")
|
||||
DEFAULT_WORD_OUTPUT_ROOT = os.path.expanduser("~/Languages/Anki/anki-words")
|
||||
|
||||
|
||||
def anki_request(action: str, **params):
|
||||
"""Make an AnkiConnect request and return the result payload."""
|
||||
resp = requests.post(
|
||||
ANKI_CONNECT_URL,
|
||||
json={"action": action, "version": 6, "params": params},
|
||||
timeout=30,
|
||||
)
|
||||
resp.raise_for_status()
|
||||
data = resp.json()
|
||||
if data.get("error") is not None:
|
||||
raise RuntimeError(f"AnkiConnect error for {action}: {data['error']}")
|
||||
return data["result"]
|
||||
Reference in New Issue
Block a user