[ka2] fix connecteur gia_t: garde-fou page liste vide (200 à 0 octet via escalade quand gia-t.com est en panne) — le sync échoue honnêtement au lieu de désactiver l'inventaire
1 changed file +10 −1
modified
louka/connectors/gia_t.py
+10 −1
@@ -42,9 +42,18 @@ class GiaTConnector(BaseConnector): | ||
| 42 | 42 | html = self.get(LIST_URL).text |
| 43 | 43 | soup = BeautifulSoup(html, "html.parser") |
| 44 | 44 | |
| 45 | + # Garde-fou : quand le serveur est en panne, l'escalade proxy peut | |
| 46 | + # renvoyer un 200 à corps vide — sans ceci le sync passait « ok » à 0 | |
| 47 | + # et désactivait tout l'inventaire (incident 2026-08-27). | |
| 48 | + cards = soup.select("article.wpgb-card") | |
| 49 | + if not cards and "wpgb" not in html: | |
| 50 | + raise RuntimeError( | |
| 51 | + f"page de liste invalide ({len(html)} octets, grille wpgb " | |
| 52 | + "absente) — site en panne ou gabarit changé") | |
| 53 | + | |
| 45 | 54 | self._fetched = 0 |
| 46 | 55 | listings: dict[str, Listing] = {} |
| 47 | − for card in soup.select("article.wpgb-card"): | |
| 56 | + for card in cards: | |
| 48 | 57 | try: |
| 49 | 58 | self._parse_card(card, listings) |
| 50 | 59 | except Exception: |
| 51 | 60 | |