Files
folkugat-web/folkugat_web/model/lilypond.py
2025-04-05 15:10:56 +02:00

40 lines
756 B
Python

import dataclasses
from typing import Self
@dataclasses.dataclass
class RenderError:
line: int
pos: int
error: str
@classmethod
def from_dict(cls, error_match: dict[str, str]) -> Self:
return cls(
line=int(error_match["line"]),
pos=int(error_match["pos"]),
error=error_match["error"],
)
def to_dict(self) -> dict[str, str]:
return dict(
line=str(self.line),
pos=str(self.pos),
error=self.error,
)
@dataclasses.dataclass
class LyricsParagraph:
lines: list[str]
@dataclasses.dataclass
class LyricsColumn:
paragraphs: list[LyricsParagraph]
@dataclasses.dataclass
class LyricsText:
columns: list[LyricsColumn]