diff --git a/backend/routers/exercises.py b/backend/routers/exercises.py index 79ddcd6..415c92c 100644 --- a/backend/routers/exercises.py +++ b/backend/routers/exercises.py @@ -8,11 +8,13 @@ import hashlib import json import logging import os +import re from pathlib import Path -from typing import Any, Dict, List, Optional +from typing import Any, Dict, Iterator, List, Optional, Tuple +from urllib.parse import quote -from fastapi import APIRouter, HTTPException, Depends, Query, UploadFile, File, Form -from fastapi.responses import FileResponse +from fastapi import APIRouter, HTTPException, Depends, Query, Request, UploadFile, File, Form +from fastapi.responses import FileResponse, Response, StreamingResponse from pydantic import BaseModel, Field, model_validator from db import get_db, get_cursor, r2d @@ -1818,6 +1820,120 @@ def delete_exercise_variant( return {"ok": True} +def _content_disposition_inline(filename: Optional[str]) -> str: + """Inline-Darstellung im Browser (