25 lines
871 B
Python
25 lines
871 B
Python
# retoor <retoor@molodetz.nl>
|
|
from molodetz.constants import MEDIA_KINDS
|
|
from molodetz.gallery import gallery_items
|
|
from molodetz.responses import respond
|
|
from molodetz.schemas.gallery import GalleryOut
|
|
from molodetz.seo import base_seo_context
|
|
from molodetz.seo_meta_text import description_for
|
|
from molodetz.templating import static_url
|
|
|
|
|
|
def gallery_page(request, kind, slug):
|
|
title = MEDIA_KINDS[kind]
|
|
items = gallery_items(kind)
|
|
for item in items:
|
|
item["url"] = static_url(item["source_path"])
|
|
first = items[0]["url"] if items else None
|
|
seo = base_seo_context(
|
|
request,
|
|
title,
|
|
description_for(slug),
|
|
og_image=first,
|
|
breadcrumbs=[("Molodetz", "/"), (title, f"/{slug}")],
|
|
)
|
|
return respond(request, "gallery.html", {"kind": kind, "title": title, "items": items, "seo": seo}, model=GalleryOut)
|