Set scores
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user