Afegir metadades per quan es comparteixen enllaços
This commit is contained in:
@@ -1,12 +1,22 @@
|
||||
from fastapi import Request
|
||||
from fastapi import HTTPException, Request
|
||||
from folkugat_web.api.router import get_router
|
||||
from folkugat_web.fragments import set_page
|
||||
from folkugat_web.model import playlists
|
||||
from folkugat_web.services import auth
|
||||
from folkugat_web.services import playlists as playlists_service
|
||||
from folkugat_web.templates import templates
|
||||
|
||||
router = get_router()
|
||||
|
||||
|
||||
def set_description(set_: playlists.Set) -> str:
|
||||
tema_names = [tis.tema.title if tis.tema else "Desconegut" for tis in set_.temes]
|
||||
return " i ".join(filter(bool, [
|
||||
", ".join(tema_names[:-1]),
|
||||
tema_names[-1]
|
||||
]))
|
||||
|
||||
|
||||
@router.get("/playlist/{playlist_id}/set/{set_id}")
|
||||
def page(
|
||||
request: Request,
|
||||
@@ -14,11 +24,16 @@ def page(
|
||||
playlist_id: int,
|
||||
set_id: int,
|
||||
):
|
||||
set_ = playlists_service.get_set(playlist_id=playlist_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_)
|
||||
return templates.TemplateResponse(
|
||||
"index.html",
|
||||
{
|
||||
"request": request,
|
||||
"page_title": "Folkugat",
|
||||
"page_title": "Folkugat - Set",
|
||||
"page_description": set_description(set_=set_),
|
||||
"content": f"/api/content/playlist/{playlist_id}/set/{set_id}",
|
||||
"logged_in": logged_in,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user