| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- # -*- 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
|