""" AI Processing - Print Version Generator: Worksheet. Generates print-optimized HTML for general worksheets from analysis data. """ from pathlib import Path import json import logging logger = logging.getLogger(__name__) def generate_print_version_worksheet(analysis_path: Path) -> str: """ Generiert eine druckoptimierte HTML-Version des Arbeitsblatts. Eigenschaften: - Grosse, gut lesbare Schrift (16pt) - Schwarz-weiss / Graustufen-tauglich - Klare Struktur fuer Druck - Keine interaktiven Elemente Args: analysis_path: Pfad zur *_analyse.json Datei Returns: HTML-String zum direkten Ausliefern """ if not analysis_path.exists(): raise FileNotFoundError(f"Analysedatei nicht gefunden: {analysis_path}") try: data = json.loads(analysis_path.read_text(encoding="utf-8")) except json.JSONDecodeError as e: raise RuntimeError(f"Analyse-Datei enthaelt kein gueltiges JSON: {analysis_path}\n{e}") from e title = data.get("title") or "Arbeitsblatt" subject = data.get("subject") or "" grade_level = data.get("grade_level") or "" instructions = data.get("instructions") or "" tasks = data.get("tasks", []) or [] canonical_text = data.get("canonical_text") or "" printed_blocks = data.get("printed_blocks") or [] html_parts = [] html_parts.append(_build_html_head(title)) # Titel html_parts.append(f"