diff --git a/folkugat_web/api/sessio/index.py b/folkugat_web/api/sessio/index.py index f8cdd62..afcb52a 100644 --- a/folkugat_web/api/sessio/index.py +++ b/folkugat_web/api/sessio/index.py @@ -1,15 +1,9 @@ from typing import Annotated -from fastapi import Form, HTTPException, Request -from fastapi.responses import HTMLResponse +from fastapi import Form, Request from folkugat_web.api import router from folkugat_web.fragments import live, sessio -from folkugat_web.services import auth, files -from folkugat_web.services import playlists as playlists_service -from folkugat_web.services.lilypond import build as lilypond_build -from folkugat_web.services.lilypond import render as lilypond_render -from folkugat_web.services.lilypond import source as lilypond_source -from folkugat_web.services.temes import scores as scores_service +from folkugat_web.services import auth from folkugat_web.services.temes import write as temes_service from folkugat_web.templates import templates @@ -205,25 +199,26 @@ def set_tema_new( ) -@router.get("/api/sessio/{session_id}/set/{set_id}/score") -async def render( - request: Request, - _: auth.RequireLogin, - session_id: int, - set_id: int, -): - set_entry = playlists_service.get_set(session_id=session_id, set_id=set_id) - if not set_entry: - raise HTTPException(status_code=404, detail="Could not find set!") - tune_set = lilypond_build.set_from_set(set_entry=set_entry) - set_source = lilypond_source.set_source(tune_set=tune_set) - pdf_result = await lilypond_render.render( - source=set_source, - output=lilypond_render.RenderOutput.PDF, - ) - if output_filename := pdf_result.result: - score_render_url = files.get_db_file_path(output_filename) - # return temes.score_render(request=request, score_id=score_id, score_render_url=score_render_url) - return HTMLResponse(content=score_render_url) - else: - return HTMLResponse() +# @router.get("/api/sessio/{session_id}/set/{set_id}/score") +# async def render( +# request: Request, +# _: auth.RequireLogin, +# session_id: int, +# set_id: int, +# ): +# set_entry = playlists_service.get_set(session_id=session_id, set_id=set_id) +# if not set_entry: +# raise HTTPException(status_code=404, detail="Could not find set!") +# set_entry = playlists_service.add_temes_to_set(set_entry) +# tune_set = lilypond_build.set_from_set(set_entry=set_entry) +# set_source = lilypond_source.set_source(tune_set=tune_set) +# pdf_result = await lilypond_render.render( +# source=set_source, +# output=lilypond_render.RenderOutput.PDF, +# ) +# if output_filename := pdf_result.result: +# score_render_url = files.get_db_file_path(output_filename) +# # return temes.score_render(request=request, score_id=score_id, score_render_url=score_render_url) +# return HTMLResponse(content=score_render_url) +# else: +# return HTMLResponse() diff --git a/folkugat_web/api/sessio/set_page.py b/folkugat_web/api/sessio/set_page.py index 7502321..17dac00 100644 --- a/folkugat_web/api/sessio/set_page.py +++ b/folkugat_web/api/sessio/set_page.py @@ -24,10 +24,10 @@ def page( @router.get("/api/content/sessio/{session_id}/set/{set_id}") -def contingut( +async def contingut( request: Request, logged_in: auth.LoggedIn, session_id: int, set_id: int, ): - return set_page.pagina(request, session_id, set_id, logged_in) + return await set_page.pagina(request, session_id, set_id, logged_in) diff --git a/folkugat_web/assets/templates/fragments/sessio/set/set_page.html b/folkugat_web/assets/templates/fragments/sessio/set/set_page.html index 1732cb8..b3d3827 100644 --- a/folkugat_web/assets/templates/fragments/sessio/set/set_page.html +++ b/folkugat_web/assets/templates/fragments/sessio/set/set_page.html @@ -9,6 +9,20 @@ {% endif %} +{% if set.score %} + {% for tema_in_set in set.temes %} + {% if tema_in_set.tema is not none %} + {% set tema = tema_in_set.tema %} + {% include "fragments/sessio/set/tema_title.html" %} + {% else %} +