"""Quellen-Adapter des Neuheiten-Plugins (Adapter-Pattern). Ein Modul pro Quelle plus gemeinsame Basis (`basis.py`); die Orchestrierung (alle aktiven Quellen, Fehler-Isolation, Dedup, Upsert, Statusprotokoll) liegt in `quellen_sync.py` des Plugin-Pakets. Neue Quelle hinzufügen: 1. Modul `meine_quelle.py` mit einer `QuellenAdapter`-Unterklasse (Klassenattribute `name` und `anzeigename` setzen). 2. Klasse in `ADAPTER_KLASSEN` ergänzen — Env-Schalter, Statuszeile und Sync-Übersicht ergeben sich automatisch aus dem `name` (SPIELE_NEUHEITEN_QUELLE__AKTIV). """ from __future__ import annotations from .basis import ( USER_AGENT, QuellenAdapter, QuellenAntwort, QuellenFehler, QuellenTreffer, SammelErgebnis, WebQuellenClient, jahr_aus_datumsangabe, titel_aehnlichkeit, titel_normalisieren, ) from .brettspielbox import BrettspielboxQuelle from .cliquenabend import CliquenabendQuelle from .spielessen import SpielEssenQuelle from .spielbox import SpielboxQuelle #: Alle verfügbaren Web-Quellen in fester Reihenfolge. ADAPTER_KLASSEN: tuple[type[QuellenAdapter], ...] = ( SpielboxQuelle, BrettspielboxQuelle, SpielEssenQuelle, CliquenabendQuelle, ) __all__ = [ "ADAPTER_KLASSEN", "USER_AGENT", "QuellenAdapter", "QuellenAntwort", "QuellenFehler", "QuellenTreffer", "SammelErgebnis", "WebQuellenClient", "jahr_aus_datumsangabe", "titel_aehnlichkeit", "titel_normalisieren", "SpielboxQuelle", "BrettspielboxQuelle", "SpielEssenQuelle", "CliquenabendQuelle", ]