Development #58283
TypeError: argument of type 'NoneType' is not iterable
0%
Description
https://sentry.entrouvert.org/entrouvert/publik/issues/53500/
TypeError: argument of type 'NoneType' is not iterable (2 additional frame(s) were not displayed) ... File "django/core/handlers/base.py", line 113, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "django/views/generic/base.py", line 71, in view return self.dispatch(request, *args, **kwargs) File "django/views/generic/base.py", line 97, in dispatch return handler(request, *args, **kwargs) File "combo/apps/maps/views.py", line 32, in get geojson = layer.get_geojson(request) File "combo/apps/maps/models.py", line 244, in get_geojson if 'features' in data:
Fichiers
Révisions associées
Historique
Mis à jour par Valentin Deniaud il y a plus de 2 ans
- Fichier 0001-maps-handle-empty-geojson-58283.patch 0001-maps-handle-empty-geojson-58283.patch ajouté
- Tracker changé de Bug à Development
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Thomas Noël il y a plus de 2 ans
Difficile de bien comprendre comment ça avait planté dans la trace remontée dans Sentry, mais oui, pourquoi pas un data bizarre... (là il ne l'est plus, https://api.devgpseo.fr/esri/eccbc87e4b5ce2fe28308fd9f2a7baf3)
Au lieu de juste tester le cas "None", être moins tolérant : râler quand data est un dictionnaire mais ne contient pas de "features", et sinon râler si data n'est pas une liste...?
Mis à jour par Valentin Deniaud il y a plus de 2 ans
Thomas Noël a écrit :
Difficile de bien comprendre comment ça avait planté dans la trace remontée dans Sentry, mais oui, pourquoi pas un data bizarre... (là il ne l'est plus, https://api.devgpseo.fr/esri/eccbc87e4b5ce2fe28308fd9f2a7baf3)
Le serveur renvoyait juste null
, c'est le seul cas où response.json()
peut retourner None.
Au lieu de juste tester le cas "None", être moins tolérant : râler quand data est un dictionnaire mais ne contient pas de "features", et sinon râler si data n'est pas une liste...?
Comme on est protégé par response.json()
, ça n'apporterait pas grand chose je pense, response est forcément une liste ou un dico.
Mis à jour par Thomas Noël il y a plus de 2 ans
Valentin Deniaud a écrit :
Comme on est protégé par
response.json()
, ça n'apporterait pas grand chose je pense, response est forcément une liste ou un dico.
Ou un float ou un str ou un booléen, mais allez, t'as raison, ce jour là on reviendra sur ce bout de code :)
Mis à jour par Thomas Noël il y a plus de 2 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Valentin Deniaud il y a plus de 2 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 551d5e0f107a822828b44c0dd392f77980f2297c Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Tue Nov 2 12:04:57 2021 +0100 maps: handle empty geojson (#58283)
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
maps: handle empty geojson (#58283)