Afegir partitures de llistes (cançoners)
This commit is contained in:
@@ -4,6 +4,7 @@ from fastapi import HTTPException
|
||||
from folkugat_web.model import playlists as playlists_model
|
||||
from folkugat_web.model import temes as model
|
||||
from folkugat_web.model.lilypond import score as lilypond_model
|
||||
from folkugat_web.services import playlists as playlists_service
|
||||
from folkugat_web.services.temes import lyrics as lyrics_service
|
||||
from folkugat_web.services.temes import properties as properties_service
|
||||
from folkugat_web.services.temes import query as temes_q
|
||||
@@ -96,3 +97,20 @@ def set_from_set(set_entry: playlists_model.Set) -> lilypond_model.LilypondSet:
|
||||
title=set_title,
|
||||
tunes=tunes
|
||||
)
|
||||
|
||||
|
||||
def playlist_from_playlist(playlist: playlists_model.Playlist) -> lilypond_model.LilypondPlaylist:
|
||||
"""
|
||||
The playlist is assumed to be enriched with tunes
|
||||
"""
|
||||
lilypond_sets = []
|
||||
for set_entry in playlist.sets:
|
||||
lilypond_set = set_from_set(set_entry)
|
||||
if lilypond_set.tunes and all(map(playlists_service._elegible_for_set_score, lilypond_set.tunes)):
|
||||
lilypond_sets.append(lilypond_set)
|
||||
|
||||
playlist_title = playlist.name or "Llista"
|
||||
return lilypond_model.LilypondPlaylist(
|
||||
title=playlist_title,
|
||||
sets=lilypond_sets
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user