import html import tree_sitter from .file_handler import FileHandler class Flashcard: note_id: int front: str back: str deck: str id_updated: bool preamble: str | None file_handler: FileHandler note_id_node: tree_sitter.Node front_node: tree_sitter.Node back_node: tree_sitter.Node svg_front: bytes svg_back: bytes def __init__( self, front: str, back: str, deck: str | None, note_id: int, preamble: str | None, file_handler: FileHandler, ): if deck is None: deck = "Default" if not note_id: note_id = 0 self.front = front self.back = back self.deck = deck self.note_id = note_id self.preamble = preamble self.file_handler = file_handler self.id_updated = False def __str__(self): return f"Flashcard(id={self.note_id}, front={self.front})" def as_typst(self, front: bool) -> str: return f"#flashcard({self.note_id})[{self.front if front else ''}][{self.back if not front else ''}]" def as_html(self, front: bool) -> str: safe_front = html.escape(self.front) safe_back = html.escape(self.back) prefix = f"
{safe_front}: {safe_back}{' ' * 10}
" # indexable via anki search image = f'