# ============================================ # Projet : API-KA # Fichier : src/collectors/__init__.py # Node : m3u96b # Author : Simon-Pierre Boucher # Contact : contact@spboucher.ai # Date : 2026-08-16 # ============================================ """Collecteurs des 11 services KA et fabriques associées.""" from __future__ import annotations from src.collectors.autoka_collector import AutokaCollector from src.collectors.base_collector import BaseCollector from src.collectors.creaka_collector import CreakaCollector from src.collectors.fabrika_collector import FabrikaCollector from src.collectors.foodka_collector import FoodkaCollector from src.collectors.houseka_collector import HousekaCollector from src.collectors.immoka_collector import ImmokaCollector from src.collectors.jobka_collector import JobkaCollector from src.collectors.louka_collector import LoukaCollector from src.collectors.rentka_collector import RentkaCollector from src.collectors.restoka_collector import RestokaCollector from src.collectors.sortika_collector import SortikaCollector COLLECTORS: dict[str, type[BaseCollector]] = { "louka": LoukaCollector, "immoka": ImmokaCollector, "houseka": HousekaCollector, "foodka": FoodkaCollector, "autoka": AutokaCollector, "fabrika": FabrikaCollector, "restoka": RestokaCollector, "sortika": SortikaCollector, "creaka": CreakaCollector, "jobka": JobkaCollector, "rentka": RentkaCollector, } def get_collector(service: str) -> BaseCollector: """Instancie le collecteur d'un service donné. Raises: ValueError: Si le service est inconnu. """ try: return COLLECTORS[service]() except KeyError as exc: raise ValueError(f"Service inconnu : {service}") from exc def build_collectors() -> list[BaseCollector]: """Instancie les 11 collecteurs, dans l'ordre canonique des services.""" return [cls() for cls in COLLECTORS.values()]