# -*- coding: utf-8 -*- """ Abstrakte Basisklasse fuer Korrektur-Schichten. """ from abc import ABC, abstractmethod class CorrectionLayer(ABC): """Abstrakte Basis fuer eine STT-Korrektur-Schicht.""" NAME: str = "" @abstractmethod def is_available(self) -> bool: """Prueft ob die benoetigte Library installiert und das Modell vorhanden ist.""" @abstractmethod def initialize(self, config: dict, language: str, protected_words: list[str]) -> bool: """ Initialisiert die Schicht. Args: config: Layer-spezifische Konfiguration language: Sprachcode (z.B. "de") protected_words: Woerter die nicht korrigiert werden duerfen Returns: True wenn Initialisierung erfolgreich, sonst False """ @abstractmethod def correct(self, text: str) -> str: """ Korrigiert den uebergebenen Text. Args: text: Eingabetext Returns: Korrigierter Text """ def shutdown(self) -> None: """Optionales Cleanup beim Herunterfahren.""" pass