Afegir partitures de llistes (cançoners)

This commit is contained in:
marc
2025-12-21 15:40:11 +01:00
parent 089e61fb0b
commit ac79785cf0
16 changed files with 238 additions and 6 deletions

View File

@@ -89,3 +89,15 @@ class LilypondSet:
self.title.encode(),
*(tune.hash() for tune in self.tunes),
)
@dataclasses.dataclass
class LilypondPlaylist:
title: str
sets: list[LilypondSet]
def hash(self) -> bytes:
return get_hash(
self.title.encode(),
*(lilypond_set.hash() for lilypond_set in self.sets),
)

View File

@@ -49,6 +49,12 @@ class SetScore:
pdf_url: str | None
@dataclasses.dataclass
class PlaylistScore:
img_url: str | None
pdf_url: str | None
@dataclasses.dataclass
class Set:
id: int
@@ -81,6 +87,7 @@ class Playlist:
id: int
name: str | None
sets: list[Set]
playlist_score: PlaylistScore | None = None
def to_playlist_entries(self) -> Iterator[PlaylistEntry]:
for set_entry in self.sets: