# ----------------------------------------------------------------------------- # Fabri-Ka — Agrégateur de produits québécois # Auteur : Simon-Pierre Boucher — contact@spboucher.ai # connectors/__init__.py : dispatch plateforme -> connecteur générique # ----------------------------------------------------------------------------- from __future__ import annotations from .base import BaseConnector from .generic import GenericConnector from .shopify import ShopifyConnector from .squarespace import SquarespaceConnector from .wix import WixConnector from .woocommerce import WooCommerceConnector PLATFORM_CONNECTORS: dict[str, type[BaseConnector]] = { "shopify": ShopifyConnector, "woocommerce": WooCommerceConnector, "wordpress": WooCommerceConnector, # WordPress avec Store API active "squarespace": SquarespaceConnector, "wix": WixConnector, # plateformes à rendu serveur → extraction du balisage produit (JSON-LD…) "prestashop": GenericConnector, "magento": GenericConnector, "bigcommerce": GenericConnector, "lightspeed": GenericConnector, "snipcart": GenericConnector, "generic": GenericConnector, } # endpoint sentinelle : boutique validée pour le connecteur générique GENERIC_ENDPOINT = "__generic__" def connector_for(store: dict) -> BaseConnector | None: if store.get("catalog_endpoint") == GENERIC_ENDPOINT: return GenericConnector(store) cls = PLATFORM_CONNECTORS.get(store.get("platform") or "") return cls(store) if cls else None