classifier/backend/routes/viewer.py

23 lines
No EOL
856 B
Python

from fastapi import APIRouter, HTTPException
from fastapi.responses import HTMLResponse
from config import EPT_DIR
from services.manifest import read_manifest
from services.html_generator import generate_viewer_html
router = APIRouter()
@router.get("/viewer/{pc_id}")
def viewer(pc_id: str):
out_dir = EPT_DIR / pc_id
if not out_dir.exists():
raise HTTPException(404, f"ID {pc_id} non trouvé")
manifest = read_manifest(out_dir)
return HTMLResponse(generate_viewer_html(pc_id, manifest.get("ept_dir"), embed=False))
@router.get("/viewer-embed/{pc_id}")
def viewer_embed(pc_id: str):
out_dir = EPT_DIR / pc_id
if not out_dir.exists():
raise HTTPException(404, f"ID {pc_id} non trouvé")
manifest = read_manifest(out_dir)
return HTMLResponse(generate_viewer_html(pc_id, manifest.get("ept_dir"), embed=True))