managers: tolérer `type` en liste dans les fiches SerpApi (multi-catégories)
Le champ `type` des local_results Google Maps arrive maintenant parfois en liste, ce qui cassait la résolution (`TypeError` dans _score_candidate et le tri des candidats). Normalisé en chaîne dès la réception des candidats. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 changed file +4 −0
modified
louka/managers.py
+4 −0
@@ -152,6 +152,10 @@ def resolve(manager_id: int, con=None) -> dict: | ||
| 152 | 152 | cands = data.get("local_results") or [] |
| 153 | 153 | if not cands and data.get("place_results"): |
| 154 | 154 | cands = [data["place_results"]] |
| 155 | + for c in cands: | |
| 156 | + # SerpApi renvoie parfois `type` en liste (multi-catégories) | |
| 157 | + if isinstance(c.get("type"), list): | |
| 158 | + c["type"] = ", ".join(str(t) for t in c["type"]) | |
| 155 | 159 | |
| 156 | 160 | scored = [( *_score_candidate(mgr, c), c) for c in cands[:8]] |
| 157 | 161 | best, best_conf, best_sig = None, 0.0, {} |
| 158 | 162 | |