Projet

Général

Profil

Development #68414

TypeError: 'NoneType' object is not subscriptable

Ajouté par Sentry Io il y a plus d'un an. Mis à jour il y a 11 mois.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
25 août 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

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

Révisions associées

Révision 2cac2565 (diff)
Ajouté par Nicolas Roche il y a 11 mois

photon: validate geojson content received (#68414)

Historique

#1

Mis à jour par Nicolas Roche il y a plus d'un an

  • Projet changé de Suivi des traces à Passerelle

Le serveur geojson semble avoir renvoyé une feature vide :

{
  'features': [None]
}

#2

Mis à jour par Thomas Noël il y a plus d'un an

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.
#3

Mis à jour par Thomas Noël il y a plus d'un an

  • Tracker changé de Bug à Development

Je passe le ticket en "développement" car le bug n'est pas vraiment dans Passerelle :)

#4

Mis à jour par Nicolas Roche il y a plus d'un an

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.

#5

Mis à jour par Lauréline Guérin il y a 11 mois

nouvelle occurrence il y a 2 jours

#6

Mis à jour par Nicolas Roche il y a 11 mois

On n'a pas plus d'information dans le log passerelle correspondant à la sentry :
https://passerelle.toodego.com/manage/photon/photon/logs/?q=d803f269-6841-4f4e-8629-7bc94b067932

Plutôt que de passer le connecteur en debug et d'attendre à nouveau 9 mois,
peut-être supposer que
https://download.data.grandlyon.com/geocoding/photon-bal/api/?q=23+Rue+Gabriel+P%C3%A9ri%2C+Villeurbanne&limit=1&lang=fr
peut effectivement nous renvoyer n'importe quoi.

#7

Mis à jour par Robot Gitea il y a 11 mois

  • Statut changé de Nouveau à Solution proposée
  • Assigné à mis à Nicolas Roche

Nicolas Roche (nroche) a ouvert une pull request sur Gitea concernant cette demande :

#8

Mis à jour par Robot Gitea il y a 11 mois

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

Lauréline Guérin (lguerin) a approuvé une pull request sur Gitea concernant cette demande :

#9

Mis à jour par Robot Gitea il y a 11 mois

  • Statut changé de Solution validée à Résolu (à déployer)

Nicolas Roche (nroche) a mergé une pull request sur Gitea concernant cette demande :

#10

Mis à jour par Transition automatique il y a 11 mois

  • Statut changé de Résolu (à déployer) à Solution déployée
#11

Mis à jour par Transition automatique il y a 9 mois

Automatic expiration

Formats disponibles : Atom PDF