Créa·Ka — annuaire public cross-plateforme des créateurs de contenu québécois (crea-ka.com)
Python 73.6%
HTML 13.2%
TypeScript 6%
JavaScript 4.5%
CSS 1.7%
Dockerfile 0.6%
1# ==============================================================================2# Author: Simon-Pierre Boucher <contact@spboucher.ai>3# File: creaka/connectors/__init__.py4# Desc: Registre AUTO-DÉCOUVRANT des connecteurs (calqué sur Lou-Ka) —5# tout module contenant une sous-classe de BaseConnector avec un6# source_id non vide est enregistré automatiquement7# ==============================================================================8from __future__ import annotations910import importlib11import pkgutil12import sys1314from .base import BaseConnector1516CONNECTORS: dict[str, type[BaseConnector]] = {}1718for _mod in pkgutil.iter_modules(__path__):19 if _mod.name in ("base", "__init__"):20 continue21 try:22 module = importlib.import_module(f"{__name__}.{_mod.name}")23 except Exception as exc: # un connecteur cassé ne bloque pas les autres24 print(f"[crea-ka] connecteur '{_mod.name}' ignoré : {exc}", file=sys.stderr)25 continue26 for obj in vars(module).values():27 if (isinstance(obj, type) and issubclass(obj, BaseConnector)28 and obj is not BaseConnector and getattr(obj, "source_id", "")):29 CONNECTORS[obj.source_id] = obj30