Projet

Général

Profil

Bug #56710

sectorize n'est pas compatible les services ne renvoyant pas une chaîne comme ban_id mais un entier

Ajouté par Benjamin Dauvergne 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:
06 septembre 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Le service GTM de Toulouse renvoie un id sous forme d'un entier et non pas d'une chaîne comme la BAN, et ça fait boum dans sectorize().

La remontée sentry : https://sentry.entrouvert.org/entrouvert/nfrance/issues/51982/

Ticket client : #56709


Fichiers


Demandes liées

Dupliqué par Passerelle - Bug #56852: AttributeError: 'int' object has no attribute 'split'Fermé10 septembre 2021

Actions

Révisions associées

Révision 84e02505 (diff)
Ajouté par Thomas Noël il y a plus de 2 ans

base_adresse: handle bad ban_id format (#56710)

Historique

#2

Mis à jour par Benjamin Dauvergne il y a plus de 2 ans

  • Sujet changé de sectorize n'est pas compatible avec les service pseudo-compatible avec la BAN à sectorize n'est pas compatible les services renvoyant pas une chaîne comme ban_id mais un entier
#3

Mis à jour par Benjamin Dauvergne il y a plus de 2 ans

  • Sujet changé de sectorize n'est pas compatible les services renvoyant pas une chaîne comme ban_id mais un entier à sectorize n'est pas compatible les services ne renvoyant pas une chaîne comme ban_id mais un entier
#4

Mis à jour par Benjamin Dauvergne il y a plus de 2 ans

  • Tracker changé de Support à Bug
#5

Mis à jour par Benjamin Dauvergne il y a plus de 2 ans

  • Assigné à mis à Thomas Noël
#6

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

Pour info :

AttributeError: 'int' object has no attribute 'split'
  File "passerelle/utils/jsonresponse.py", line 130, in api
    resp = f(*args, **kwargs)
  File "passerelle/views.py", line 527, in perform
    result = self.endpoint(request, **params)
  File "passerelle/apps/base_adresse/models.py", line 247, in reverse
    result = self.format_address_data(feature)
  File "passerelle/apps/base_adresse/models.py", line 95, in format_address_data
    self.sectorize(result)
  File "passerelle/apps/base_adresse/models.py", line 71, in sectorize
    address['address']['street_id'] = '_'.join(ban_id.split('_', 2)[0:2])

La réponse reçue n'est effectivement pas au format BAN :

{
 address:
  {city: 'Toulouse',
   citycode: '31555',
   country: 'France',
   house_number: '9',
   postcode: '31000',
   road: 'Quai Lucien Lombard'
 },
 ban_id: 3155541632320009,
...
#7

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

#8

Mis à jour par Benjamin Dauvergne il y a plus de 2 ans

Thomas Noël a écrit :

La réponse reçue n'est effectivement pas au format BAN :

Ouais, je leur aurai bien dit de corriger mais ça prendra plus de temps, désolé :)

#9

Mis à jour par Benjamin Dauvergne il y a plus de 2 ans

Benjamin Dauvergne a écrit :

Thomas Noël a écrit :

La réponse reçue n'est effectivement pas au format BAN :

Ouais, je leur aurai bien dit de corriger mais ça prendra plus de temps, désolé :)

T'es un peu dur là non ? Pas de sectorize pour les gens qui renvoient int au lieu de str ? Un cast suffirait.

#10

Mis à jour par Benjamin Dauvergne il y a plus de 2 ans

  • Statut changé de Solution proposée à En cours

Souci de code-style.

#11

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

Benjamin Dauvergne a écrit :

Benjamin Dauvergne a écrit :

Thomas Noël a écrit :

La réponse reçue n'est effectivement pas au format BAN

Ouais, je leur aurai bien dit de corriger mais ça prendra plus de temps, désolé :)

T'es un peu dur là non ? Pas de sectorize pour les gens qui renvoient int au lieu de str ? Un cast suffirait.

Sans code de rue il n'y a pas de sectorisation possible, et en format BAN le code de rue vient de l'id, c'est comme ça (il doit avoir le format <code_insee>_<code_rue>_<numero>_<btq>_... cf https://aitf-sig-topo.github.io/voies-adresses/files/AITF_SIG_Topo_Format_Base_Adresse_Locale_v1.2.pdf qui sert de norme à la BAN et aux BAL).

(et j'ai corrigé le style donc ça devrait devenir vert)

#12

Mis à jour par Benjamin Dauvergne il y a plus de 2 ans

  • Statut changé de En cours à Solution validée

Ok, on lui dira, pas de ban pas de chocolat s'il veut utiliser la sectorisation avec GTM un jour :)

#13

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

  • Statut changé de Solution validée à Résolu (à déployer)
commit 84e025056408cdb2852eb6a34cb4d0f0f0215a11
Author: Thomas NOEL <tnoel@entrouvert.com>
Date:   Tue Sep 7 10:53:19 2021 +0200

    base_adresse: handle bad ban_id format (#56710)

#14

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
#15

Mis à jour par Benjamin Dauvergne il y a plus de 2 ans

  • Dupliqué par Bug #56852: AttributeError: 'int' object has no attribute 'split' ajouté

Formats disponibles : Atom PDF