"""Zugriff auf die neuheiten-Plugin-Module über den vom Plugin-Loader verwendeten Modulnamen (`spiele_redaktion_plugins.neuheiten`). Der Kern teilt sich eine SQLAlchemy-MetaData; deshalb darf es pro Prozess nur eine Modul-Identität geben. Tests importieren das Plugin daher über diesen Helper statt direkt über `plugins.neuheiten`. """ from __future__ import annotations import sys from pathlib import Path from redaktionskern.plugin_loader import discover_plugins _PROJEKT_WURZEL = Path(__file__).resolve().parents[1] if "spiele_redaktion_plugins.neuheiten" not in sys.modules: discover_plugins( _PROJEKT_WURZEL / "plugins", entry_point_group="spiele_redaktion.tests.keine_entry_points", ) _neuheiten = sys.modules["spiele_redaktion_plugins.neuheiten"] bgg = _neuheiten.bgg sync_modul = _neuheiten.sync models = _neuheiten.models BggClient = bgg.BggClient BggFehler = bgg.BggFehler SuchTreffer = bgg.SuchTreffer BggSpiel = bgg.BggSpiel parse_suche = bgg.parse_suche parse_things = bgg.parse_things SyncService = sync_modul.SyncService SyncErgebnis = sync_modul.SyncErgebnis ist_moeglicher_prototyp = sync_modul.ist_moeglicher_prototyp speichere_oder_aktualisiere = sync_modul.speichere_oder_aktualisiere Neuheit = models.Neuheit STATUS_NEUHEIT = models.STATUS_NEUHEIT