Allow heading tags (h1-h6) in ContentSanitizer so news editor headings render

This commit is contained in:
2026-06-04 07:52:57 +02:00
parent 0b33a1b074
commit 15870ddb1f
191 changed files with 15453 additions and 1786 deletions

View File

@@ -0,0 +1,36 @@
from __future__ import annotations
from .config import Settings
from .engines.base import EngineHealth, UpscaleEngine, UpscaleEngineUnavailable, UpscaleResult
from .engines.pillow_engine import PillowUpscaleEngine
from .engines.realesrgan_ncnn_engine import RealEsrganNcnnEngine
from .image_io import DownloadedImage
class UnavailableEngine(UpscaleEngine):
def __init__(self, settings: Settings, engine_name: str) -> None:
self.settings = settings
self.engine_name = engine_name
def health(self) -> EngineHealth:
return EngineHealth(
status="degraded",
engine=self.engine_name,
device=self.settings.device,
models_loaded=False,
)
def upscale(self, downloaded: DownloadedImage, scale: int, mode: str, output_format: str) -> UpscaleResult:
raise UpscaleEngineUnavailable("Upscale engine is not available. Check model files and worker installation.")
def build_upscaler(settings: Settings) -> UpscaleEngine:
engine_name = settings.engine.strip().lower()
if engine_name == "pillow":
return PillowUpscaleEngine(settings)
if engine_name in {"realesrgan", "realesrgan-ncnn"}:
return RealEsrganNcnnEngine(settings)
return UnavailableEngine(settings, engine_name or "unknown")