SPB Git forge

spb/fabri-ka

Public

Agrégateur de produits québécois — www.fabri-ka.com

217commits 1branches 0releases
66.1 MBsize
maindefault branch
5 h agolast push
Python 38.4% HTML 30.3% TypeScript 17.2% CSS 11% JavaScript 3.2%

Revert "[ka6] fix connecteur fr.lescoconuts.ca: ré-application (2e fois) du fix 401 Shopify perdu — b736126 (_StorefrontLockedError sur HTTP 401 direct et « upstream 401 » Scrapfly) avait encore disparu de l'arbre (plus ancêtre de HEAD, réécriture d'historique des sessions concurrentes), et purecoco.ca — boutique verrouillée par storefront password depuis ~2026-08-23, /password confirmé live via Scrapfly — retombait en échec « scrapfly upstream 401 » à chaque sync; shopify.py re-patché à l'identique via git apply --3way de b736126. Sync réel: fr.lescoconuts.ca 1 ok / 0 erreur / 0 produit (zéro fidèle à la source verrouillée, -20 produits périmés retirés), non-régression 1001perles.ca 298 produits / 0 erreur"

This reverts commit aa2e92692ccc3f6829f256da0505507392c8e011.
Simon-Pierre Boucher committed 1 mo ago (Aug 24, 2026) parent fa1fb73

1 changed file +0 −14

modified fabrika/connectors/shopify.py +0 −14
@@ -26,12 +26,6 @@ class _PageCapError(RuntimeError):
26 26 une panne (ex. qublivre.ca, >25 k livres)."""
27 27
28 28
29 −class _StorefrontLockedError(RuntimeError):
30 − """HTTP 401 sur /products.json : storefront verrouillé par mot de passe
31 − (mode « Bientôt ouvert », ex. fermeail-land.com) — rien n'est vendu
32 − publiquement, catalogue vide fidèle à la source, pas une panne."""
33 −
34 −
35 29 class ShopifyConnector(BaseConnector):
36 30 platform = "shopify"
37 31
@@ -76,8 +70,6 @@ class ShopifyConnector(BaseConnector):
76 70 last_err = RuntimeError("429 Too Many Requests")
77 71 elif code == "400":
78 72 raise _PageCapError(f"HTTP 400 {url}")
79 − elif code == "401":
80 − raise _StorefrontLockedError(f"HTTP 401 {url}")
81 73 else:
82 74 last_err = RuntimeError(f"HTTP {code or 'error'} {p.stderr[:120]}")
83 75 time.sleep(2)
@@ -88,8 +80,6 @@ class ShopifyConnector(BaseConnector):
88 80 data = self._scrapfly_json(url)
89 81 self._scrapfly_only = True
90 82 return data
91 − except (_PageCapError, _StorefrontLockedError):
92 − raise
93 83 except Exception as exc:
94 84 last_err = exc
95 85 raise RuntimeError(f"{url}: {last_err}")
@@ -104,8 +94,6 @@ class ShopifyConnector(BaseConnector):
104 94 except Exception as exc:
105 95 if "upstream 400" in str(exc):
106 96 raise _PageCapError(str(exc)) from exc
107 − if "upstream 401" in str(exc):
108 − raise _StorefrontLockedError(str(exc)) from exc
109 97 last_err = exc
110 98 time.sleep(3 * (attempt + 1))
111 99 raise RuntimeError(f"{url}: scrapfly: {last_err}")
@@ -120,8 +108,6 @@ class ShopifyConnector(BaseConnector):
120 108 if page > 1 and out:
121 109 break
122 110 raise
123 − except _StorefrontLockedError:
124 − break
125 111 items = data.get("products", [])
126 112 if not items:
127 113 break
128 114