Afegir metadades per quan es comparteixen enllaços

This commit is contained in:
marc
2025-11-02 14:22:22 +01:00
parent 2fbdbbf290
commit c1ec268823
12 changed files with 1227 additions and 12 deletions

View File

@@ -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,
}