# ----------------------------------------------------------------------------- # Food-Ka — connecteur Giant Tiger (magasin escompte, rayons épicerie) # Auteur : Simon-Pierre Boucher — contact@spboucher.ai # Boutique Shopify -> le catalogue complet mêle vêtements et articles de # maison ; on cible donc les collections « épicerie » (voir _shopify.py). # ----------------------------------------------------------------------------- from ..schema import Product from ._shopify import ShopifyConnector # product_type Giant Tiger que normalize_category ne reconnaît pas _TYPE_MAP = { "non-perishable": "Garde-manger", "fish": "Poissons et fruits de mer", } class GiantTigerConnector(ShopifyConnector): source_id = "giant_tiger" domain = "www.gianttiger.com" # collections épicerie du site ; "" = déduire la catégorie du product_type collections = [ ("grocery", ""), ("frozen", "Surgelés"), ("dairy-and-eggs", "Produits laitiers et œufs"), ("meat-and-seafood", "Viandes et volailles"), ("drinks-1", "Boissons"), ("chocolate-and-candy", "Collations et confiseries"), ("granola-bars-and-snacks", "Collations et confiseries"), ("international-food", "Garde-manger"), ("baby-food", "Bébé"), ] def _to_product(self, product: dict, category: str = "") -> Product | None: # rabat les product_type maison ("Non-Perishable", "Fish"…) que la # normalisation générique ne connaît pas if not category: category = _TYPE_MAP.get((product.get("product_type") or "").lower(), "") return super()._to_product(product, category)