language-learning-app/api/app/domain/models/dictionary.py

42 lines
736 B
Python

from dataclasses import dataclass, field
@dataclass
class Wordform:
id: str
lemma_id: str
form: str
tags: list[str]
@dataclass
class SenseLink:
id: str
sense_id: str
link_text: str
link_target: str
target_lemma_id: str | None
@dataclass
class Sense:
id: str
lemma_id: str
sense_index: int
gloss: str
topics: list[str]
tags: list[str]
links: list[SenseLink] = field(default_factory=list)
@dataclass
class Lemma:
id: str
headword: str
language: str
pos_raw: str
pos_normalised: str | None
gender: str | None
tags: list[str]
senses: list[Sense] = field(default_factory=list)
wordforms: list[Wordform] = field(default_factory=list)