classifier/frontend/routes/viewer.py

22 lines
No EOL
668 B
Python

from fastapi import APIRouter, Request
from fastapi.responses import HTMLResponse
import config
router = APIRouter()
def _render(request: Request, template: str, **kwargs) -> HTMLResponse:
"""Render using JinjaX catalog for all .jinja templates"""
catalog = request.app.state.catalog
html_content = catalog.render(template, **kwargs)
return HTMLResponse(content=html_content)
@router.get("/viewer/{pc_id}", response_class=HTMLResponse)
async def viewer(request: Request, pc_id: str):
return _render(
request,
"partials/viewer",
pc_id=pc_id,
embed_url=f"{config.BACKEND_INTERNAL_URL}/viewer-embed/{pc_id}",
)