74 lines
2.5 KiB
Python
74 lines
2.5 KiB
Python
from fastapi import HTTPException, Request
|
|
from folkugat_web.model.pagines import Pages
|
|
from folkugat_web.model.temes import ContentType, LinkType
|
|
from folkugat_web.services import playlists as playlists_service
|
|
from folkugat_web.services import sessions as sessions_service
|
|
from folkugat_web.templates import templates
|
|
|
|
|
|
async def pagina(request: Request, session_id: int, set_id: int, logged_in: bool):
|
|
session = sessions_service.get_session(session_id=session_id)
|
|
set_ = playlists_service.get_set(session_id=session_id, set_id=set_id)
|
|
if not set_:
|
|
raise HTTPException(status_code=404, detail="Set not found")
|
|
set_ = playlists_service.add_temes_to_set(set_)
|
|
set_ = await playlists_service.add_set_score_to_set(set_)
|
|
return templates.TemplateResponse(
|
|
"fragments/sessio/set/pagina.html",
|
|
{
|
|
"request": request,
|
|
"logged_in": logged_in,
|
|
"Pages": Pages,
|
|
"session_id": session_id,
|
|
"session": session,
|
|
"set": set_,
|
|
"date_names": sessions_service.get_date_names,
|
|
"LinkType": LinkType,
|
|
"ContentType": ContentType,
|
|
}
|
|
)
|
|
|
|
|
|
def live(request: Request, logged_in: bool):
|
|
session = sessions_service.get_live_session()
|
|
set_ = None
|
|
if session and session.id:
|
|
playlist = playlists_service.get_playlist(session_id=session.id)
|
|
if playlist.sets:
|
|
set_ = playlists_service.add_temes_to_set(playlist.sets[-1])
|
|
return templates.TemplateResponse(
|
|
"fragments/sessio/set/pagina.html",
|
|
{
|
|
"request": request,
|
|
"logged_in": logged_in,
|
|
"Pages": Pages,
|
|
"session": session,
|
|
"set": set_,
|
|
"date_names": sessions_service.get_date_names,
|
|
"LinkType": LinkType,
|
|
"ContentType": ContentType,
|
|
}
|
|
)
|
|
|
|
|
|
def live_set(request: Request, logged_in: bool):
|
|
session = sessions_service.get_live_session()
|
|
set_ = None
|
|
if session and session.id:
|
|
playlist = playlists_service.get_playlist(session_id=session.id)
|
|
if playlist.sets:
|
|
set_ = playlists_service.add_temes_to_set(playlist.sets[-1])
|
|
return templates.TemplateResponse(
|
|
"fragments/sessio/set/set_page.html",
|
|
{
|
|
"request": request,
|
|
"logged_in": logged_in,
|
|
"Pages": Pages,
|
|
"session": session,
|
|
"set": set_,
|
|
"date_names": sessions_service.get_date_names,
|
|
"LinkType": LinkType,
|
|
"ContentType": ContentType,
|
|
}
|
|
)
|