Projet

Général

Profil

Development #58283

TypeError: argument of type 'NoneType' is not iterable

Ajouté par Sentry Io il y a plus de 2 ans. Mis à jour il y a plus de 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
29 octobre 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

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

Révision a4b2cecd (diff)
Ajouté par Valentin Deniaud il y a plus de 2 ans

maps: handle empty geojson (#58283)

Historique

#1

Mis à jour par Lauréline Guérin il y a plus de 2 ans

  • Projet changé de Suivi des traces à Combo
#2

Mis à jour par Valentin Deniaud il y a plus de 2 ans

  • Assigné à mis à Valentin Deniaud
#3

Mis à jour par Valentin Deniaud il y a plus de 2 ans

#4

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...?

#5

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.

#6

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 :)

#7

Mis à jour par Thomas Noël il y a plus de 2 ans

  • Statut changé de Solution proposée à Solution validée
#8

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)
#9

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

Formats disponibles : Atom PDF