SPB Git forge

spb/food-ka

Public

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

55commits 1branches 0releases
10.2 MBsize
maindefault branch
10 days agolast push
Python 53.9% TypeScript 24% CSS 14.9% JavaScript 5.8% HTML 1.4%

History of foodka/connectors/walmart_flyer.py · clear filter

  1. Tue, Aug 18, 2026 1

    1. Vague 2 : circulaires grandes bannières + comparateur inter-bannières + nutrition OFF
      …
      1. Connecteurs Flipp des grandes bannières (API backflipp publique, 0 crédit
         Scrapfly) : iga_flyer (merchant 4592), metro_flyer (2269, filtre Quebec),
         superc_flyer (2585), maxi_flyer (2349), provigo_flyer (2338),
         walmart_flyer (234, filtre Circulaire), costco_flyer (2596, Grocery).
         Flyers provinciaux verifies sur H2X 1Y4 et G1R 4P5 (memes flyer_id).
         _flipp : tri des flyers par valid_from (la semaine courante gagne sur les
         slugs dupliques semaine courante/a venir).
      
      2. foodka/matching.py : rapprochement inter-bannieres — table product_links
         (group_id, uid) reconstruite apres chaque cycle. Cle marque+nom nettoye+
         format, matching conservateur (marque obligatoire, similarite nom >= 0,86
         avec format identique / 0,95 sans format, jetons numeriques strictement
         egaux — lait 2 % jamais fusionne avec 3,25 %). Une source *_flyer = meme
         banniere que son catalogue. Endpoint GET /api/products/{uid}/compare +
         compteurs matching/nutrition dans /api/stats.
      
      3. foodka/nutrition.py : enrichissement Open Food Facts (voila.ca PDP derriere
         Incapsula et Shopify sans code-barres public -> croisement OFF par
         marque+nom+format, conservateur). search.openfoodfacts.org (le vieux
         cgi/search.pl repond 503) + /api/v2/product/{code} pour les ingredients.
         Nutriscore/NOVA/ecoscore/allergenes/nutriments dans details.off, budget
         100 recherches/cycle, throttle 6 s, cache off_cache (jamais re-cherche).
      
      db.py : tables product_links + off_cache. ingest.py : hooks post-cycle
      matching + nutrition (jamais bloquants). sources.json : 54 sources.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +16