Projet

Général

Profil

Bug #33762

API entreprise: les données d'une entreprise peuvent être des listes

Ajouté par Serghei Mihai il y a presque 5 ans. Mis à jour il y a plus de 4 ans.

Statut:
En cours
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
06 juin 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Trace sur la recette de Grenoble:

Environment:

Request Method: GET
Request URL: https://passerelle-test.demarches.lametro.fr/api-entreprise/api-entreprise/associations/%E2%80%8E41454232400044/?object=42&recipient=20004071500019&context=GRU&raise=1

Django Version: 1.11.20
Python Version: 2.7.13
Installed Applications:
''
Installed Middleware:
''

Traceback:

File "/usr/lib/python2.7/dist-packages/django/core/handlers/exception.py" in inner
  41.             response = get_response(request)

File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in _legacy_get_response
  249.             response = self._get_response(request)

File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in _get_response
  187.                 response = self.process_exception_by_middleware(e, request)

File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in _get_response
  185.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py" in view
  68.             return self.dispatch(request, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/django/views/decorators/csrf.py" in wrapped_view
  58.         return view_func(*args, **kwargs)

File "/usr/lib/python2.7/dist-packages/passerelle/views.py" in dispatch
  356.         return super(GenericEndpointView, self).dispatch(request, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/passerelle/views.py" in dispatch
  162.             request, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py" in dispatch
  88.         return handler(request, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/passerelle/views.py" in get
  436.         return to_json(logger=connector.logger)(self.perform)(request, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/passerelle/utils/jsonresponse.py" in wrapper
  83.             return method(f, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/passerelle/utils/jsonresponse.py" in api_func
  139.         return self.api(f, args[0], *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/passerelle/utils/jsonresponse.py" in api
  147.             resp = f(*args, **kwargs)

File "/usr/lib/python2.7/dist-packages/passerelle/views.py" in perform
  421.         result = self.endpoint(request, **params)

File "/usr/lib/python2.7/dist-packages/passerelle/apps/api_entreprise/models.py" in associations
  256.         return self.get('associations/%s/' % association_id, **kwargs)

File "/usr/lib/python2.7/dist-packages/passerelle/apps/api_entreprise/models.py" in get
  117.         normalize_dates(data)

File "/usr/lib/python2.7/dist-packages/passerelle/apps/api_entreprise/models.py" in normalize_dates
  44.             normalize_dates(data[key])

File "/usr/lib/python2.7/dist-packages/passerelle/apps/api_entreprise/models.py" in normalize_dates
  44.             normalize_dates(data[key])

File "/usr/lib/python2.7/dist-packages/passerelle/apps/api_entreprise/models.py" in normalize_dates
  47.                 normalize_dates(item)

File "/usr/lib/python2.7/dist-packages/passerelle/apps/api_entreprise/models.py" in normalize_dates
  43.         if isinstance(data[key], dict):

Exception Type: TypeError at /api-entreprise/api-entreprise/associations/‎41454232400044/
Exception Value: string indices must be integers

Suite à une réponse de l'API Entreprise:


{u'association': {u'adresse_siege': {u'code_insee': [u'75114', u'75114'],
                                     u'code_postal': [u'75014', u'75014'],
                                     u'commune': [u'PARIS 14', u'PARIS 14'],
                                     u'complement': u' 44 A 46 ',
                                     u'distribution': None,
                                     u'libelle_voie': [u'DE L OUEST',
                                                       u'DE L OUEST'],
                                     u'numero_voie': [u'44', u'44'],
                                     u'type_voie': [u'RUE', u'RUE']},
                  u'civilite_dirigeant': None,
                  u'code_civilite_dirigeant': None,
                  u'code_etat': None,
                  u'code_groupement': None,
                  u'date_creation': None,
                  u'date_declaration': None,
                  u'date_dissolution': None,
                  u'date_publication': None,
                  u'etat': u'true',
                  u'groupement': None,
                  u'id': None,
                  u'mise_a_jour': None,
                  u'objet': None,
                  u'siret': u'41454232400044',
                  u'siret_siege_social': u'41454232400044',
                  u'titre': u'EASTER-EGGS'}}

commune, code_postal, etc sont des iterables et donc il y a tentative d'itérer dessus pour y normaliser des dates. Il faut pas.


Fichiers

Révisions associées

Révision 4fcb8106 (diff)
Ajouté par Serghei Mihai il y a plus de 4 ans

api_entreprise: don't try to parse dates for string lists contain items (#33762)

Révision dacb6be5 (diff)
Ajouté par Serghei Mihai il y a plus de 4 ans

Revert "api_entreprise: don't try to parse dates for string lists contain items (#33762)"

This reverts commit 4fcb8106e6b9941235ef80ebd368362a9ab5c053.

Historique

#1

Mis à jour par Serghei Mihai il y a presque 5 ans

#2

Mis à jour par Emmanuel Cazenave il y a presque 5 ans

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

Mis à jour par Thomas Noël il y a presque 5 ans

On passe tranquillement sur le fait que le résultat va être inexploitable ? :/

#4

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

Thomas Noël a écrit :

On passe tranquillement sur le fait que le résultat va être inexploitable ? :/

Uniquement si easter-eggs fait une demande de subvention à Arles.

#5

Mis à jour par Thomas Noël il y a presque 5 ans

Benjamin Dauvergne a écrit :

Thomas Noël a écrit :

On passe tranquillement sur le fait que le résultat va être inexploitable ? :/

Uniquement si easter-eggs fait une demande de subvention à Arles.

:-)

Blague à part, je serais presque pour remonter le bogue à https://api.gouv.fr/api/api-entreprise.html#contact

C'est bien le résultat d'un appel à https://doc.entreprise.api.gouv.fr/#associations-rna ? Et en fait, pourquoi ça marche avec une SIRET d'une entreprise ?... c'est pas plutôt ça le bogue ?

#6

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

Thomas Noël a écrit :

Benjamin Dauvergne a écrit :

Thomas Noël a écrit :

On passe tranquillement sur le fait que le résultat va être inexploitable ? :/

Uniquement si easter-eggs fait une demande de subvention à Arles.

:-)

Blague à part, je serais presque pour remonter le bogue à https://api.gouv.fr/api/api-entreprise.html#contact

C'est bien le résultat d'un appel à https://doc.entreprise.api.gouv.fr/#associations-rna ? Et en fait, pourquoi ça marche avec une SIRET d'une entreprise ?... c'est pas plutôt ça le bogue ?

Easter-Eggs est aussi une association mais je ne sais pas si il y a un rapport.

#7

Mis à jour par Serghei Mihai il y a plus de 4 ans

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

Formats disponibles : Atom PDF