Escollir partitura del tema en un set

This commit is contained in:
marc
2026-02-16 23:03:01 +01:00
parent 443c1b1391
commit 89f72dbb33
13 changed files with 1385 additions and 22 deletions

View File

@@ -95,9 +95,11 @@ def delete_tema(entry_id: int, con: Connection | None = None):
def set_tema(playlist_id: int, set_id: int, entry_id: int, tema_id: int | None,
con: Connection | None = None):
score_id: int | None = None, con: Connection | None = None):
with get_connection(con) as con:
new_entry = playlists.PlaylistEntry(id=entry_id, playlist_id=playlist_id, set_id=set_id, tema_id=tema_id)
new_entry = playlists.PlaylistEntry(
id=entry_id, playlist_id=playlist_id, set_id=set_id, tema_id=tema_id, score_id=score_id
)
write.update_playlist_entry(entry=new_entry, con=con)
@@ -111,11 +113,13 @@ async def get_or_create_set_score(tune_set: playlists.Set) -> playlists.SetScore
if not tune_set.temes:
return None
if len(tune_set.temes) == 1:
if (tema := tune_set.temes[0].tema) is None or (main_score := tema.main_score()) is None:
tema_in_set = tune_set.temes[0]
effective_score = tema_in_set.get_effective_score()
if effective_score is None:
return None
return playlists.SetScore(
pdf_url=main_score.pdf_url,
img_url=main_score.img_url,
pdf_url=effective_score.pdf_url,
img_url=effective_score.img_url,
)
lilypond_set = lilypond_build.set_from_set(set_entry=tune_set)