Development #68414
TypeError: 'NoneType' object is not subscriptable
Status:
Nouveau
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
25 August 2022
Due date:
% Done:
0%
Estimated time:
Patch proposed:
No
Planning:
No
Description
https://sentry.entrouvert.org/entrouvert/publik/issues/78388/
TypeError: 'NoneType' object is not subscriptable File "passerelle/utils/jsonresponse.py", line 129, in api resp = f(*args, **kwargs) File "passerelle/views.py", line 552, in perform result = self.endpoint(request, **params) File "passerelle/apps/photon/models.py", line 184, in search result = self.addresses( File "passerelle/apps/photon/models.py", line 155, in addresses if not feature['geometry']['type'] == 'Point': Error occurred while processing request
History
Updated by Nicolas Roche 5 months ago
- Project changed from Suivi des traces to Passerelle
Le serveur geojson semble avoir renvoyé une feature vide :
{ 'features': [None] }
Updated by Thomas Noël 5 months ago
Si on constate effectivement que ce connecteur peut répondre du geojson invalide, alors il faut s'en protéger au plus tôt, genre :
- vérifier que result_response.json() ne plante pas (que c'est bien du json)
- vérifier que result_response.json().get('features') est une liste
- vérifier que chaque élément de cette liste est un dictionnaire contenant les deux clés geometry et properties
- et que geometry.type existe et est Point
- etc.
Updated by Thomas Noël 5 months ago
- Tracker changed from Bug to Development
Je passe le ticket en "développement" car le bug n'est pas vraiment dans Passerelle :)
Updated by Nicolas Roche 5 months ago
Si on constate effectivement
Non, j'ai pas réussi à reproduire la réponse du serveur.
Dans le doute, je vais laisser en l'état en attendant de nouvelles occurrences de la sentry,
histoire de ne pas ajouter du code pour rien.