SPB Git forge

spb/api-ka

Public

API-KA — plateforme centrale : collecte quotidienne des 8 services KA, historisation append-only et API publique sur www.api-ka.com

48commits 1branches 0releases
5.9 MBsize
maindefault branch
19 days agolast push
Python 60.9% HTML 21% TypeScript 7.3% JavaScript 5.2% CSS 4.8% Shell 0.8%
1.9 KB · 56 lines python
Raw Blame History
1# ============================================2# Projet   : API-KA3# Fichier  : src/collectors/__init__.py4# Node     : m3u96b5# Author   : Simon-Pierre Boucher6# Contact  : contact@spboucher.ai7# Date     : 2026-08-168# ============================================9"""Collecteurs des 11 services KA et fabriques associées."""1011from __future__ import annotations1213from src.collectors.autoka_collector import AutokaCollector14from src.collectors.base_collector import BaseCollector15from src.collectors.creaka_collector import CreakaCollector16from src.collectors.fabrika_collector import FabrikaCollector17from src.collectors.foodka_collector import FoodkaCollector18from src.collectors.houseka_collector import HousekaCollector19from src.collectors.immoka_collector import ImmokaCollector20from src.collectors.jobka_collector import JobkaCollector21from src.collectors.louka_collector import LoukaCollector22from src.collectors.rentka_collector import RentkaCollector23from src.collectors.restoka_collector import RestokaCollector24from src.collectors.sortika_collector import SortikaCollector2526COLLECTORS: dict[str, type[BaseCollector]] = {27    "louka": LoukaCollector,28    "immoka": ImmokaCollector,29    "houseka": HousekaCollector,30    "foodka": FoodkaCollector,31    "autoka": AutokaCollector,32    "fabrika": FabrikaCollector,33    "restoka": RestokaCollector,34    "sortika": SortikaCollector,35    "creaka": CreakaCollector,36    "jobka": JobkaCollector,37    "rentka": RentkaCollector,38}394041def get_collector(service: str) -> BaseCollector:42    """Instancie le collecteur d'un service donné.4344    Raises:45        ValueError: Si le service est inconnu.46    """47    try:48        return COLLECTORS[service]()49    except KeyError as exc:50        raise ValueError(f"Service inconnu : {service}") from exc515253def build_collectors() -> list[BaseCollector]:54    """Instancie les 11 collecteurs, dans l'ordre canonique des services."""55    return [cls() for cls in COLLECTORS.values()]56