SPB Git

spb/lou-ka

Public

Lou·Ka — tous les logements à louer du Québec, un seul endroit.

[ka2] fix connecteur louis14: « Scrapfly : rendu vide » retryable dans _render_ok. Au sync de 05:51 le connecteur a échoué (found=0, stale) sur un hoquet ASP Scrapfly : get_scrapfly a retourné "" dès le PREMIER rendu de la page plans Livya → get_rendered lève RuntimeError immédiatement, et cette exception TRAVERSAIT la boucle de 3 tentatives de _render_ok (qui ne retryait que compteur absent / grille incomplète) — un seul rendu vide tuait tout le sync, alors que le connecteur était sain (found=18 stable depuis la réécriture d2577 du 2026-10-22, re-testé live OK). Fix minimal : try/except RuntimeError autour de get_rendered dans la boucle de _render_ok — le rendu vide profite désormais des mêmes 3 tentatives avec backoff 5/10 s, erreur franche inchangée si les 3 échouent. Fixtures inchangées, pytest louis14 2 passed. Testé : run.py sync louis14 → found=18 ok (added=0, updated=0, removed=0, 49,7 s) = médiane exacte, pm2 restart lou-ka-sync, site :8095 → 200.

Simon-Pierre Boucher committed (Oct 26, 2026) parent bfc8350 Browse files

1 changed file +7 −1

Unified Split
modified louka/connectors/louis14.py +7 −1
@@ -178,7 +178,13 @@ class Louis14Connector(BaseConnector):
178 """ 178 """
179 last_err: Exception | None = None 179 last_err: Exception | None = None
180 for attempt in range(3): 180 for attempt in range(3):
181− html = self.get_rendered(url, wait_ms=4000, nav_id=nav_id) 181+ try:
182+ html = self.get_rendered(url, wait_ms=4000, nav_id=nav_id)
183+ except RuntimeError as exc: # rendu vide (hoquet ASP Scrapfly)
184+ last_err = exc
185+ if attempt < 2:
186+ time.sleep(5 * (attempt + 1))
187+ continue
182 m = _COUNT_RE.search( 188 m = _COUNT_RE.search(
183 _html.unescape(re.sub(r"<[^>]+>", " ", html))) 189 _html.unescape(re.sub(r"<[^>]+>", " ", html)))
184 if not m: 190 if not m:
185 191
Menu

Theme