SPB Git

spb/food-ka Public

Food-Ka — agrégateur de produits d'épicerie du Québec — www.food-ka.com

Python 57.7% TypeScript 24.9% CSS 16.7% HTML 0.6%
1.6 KB · 40 lines python
Raw Blame History
1# -----------------------------------------------------------------------------2# Food-Ka — connecteur Giant Tiger (magasin escompte, rayons épicerie)3# Auteur : Simon-Pierre Boucher — contact@spboucher.ai4# Boutique Shopify -> le catalogue complet mêle vêtements et articles de5# maison ; on cible donc les collections « épicerie » (voir _shopify.py).6# -----------------------------------------------------------------------------7from ..schema import Product8from ._shopify import ShopifyConnector910# product_type Giant Tiger que normalize_category ne reconnaît pas11_TYPE_MAP = {12    "non-perishable": "Garde-manger",13    "fish": "Poissons et fruits de mer",14}151617class GiantTigerConnector(ShopifyConnector):18    source_id = "giant_tiger"19    domain = "www.gianttiger.com"2021    # collections épicerie du site ; "" = déduire la catégorie du product_type22    collections = [23        ("grocery", ""),24        ("frozen", "Surgelés"),25        ("dairy-and-eggs", "Produits laitiers et œufs"),26        ("meat-and-seafood", "Viandes et volailles"),27        ("drinks-1", "Boissons"),28        ("chocolate-and-candy", "Collations et confiseries"),29        ("granola-bars-and-snacks", "Collations et confiseries"),30        ("international-food", "Garde-manger"),31        ("baby-food", "Bébé"),32    ]3334    def _to_product(self, product: dict, category: str = "") -> Product | None:35        # rabat les product_type maison ("Non-Perishable", "Fish"…) que la36        # normalisation générique ne connaît pas37        if not category:38            category = _TYPE_MAP.get((product.get("product_type") or "").lower(), "")39        return super()._to_product(product, category)40