Bug #33762
openAPI entreprise: les données d'une entreprise peuvent être des listes
0%
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.
Files
Updated by Serghei Mihai almost 7 years ago
- File 0001-api_entreprise-don-t-try-to-parse-dates-for-string-l.patch 0001-api_entreprise-don-t-try-to-parse-dates-for-string-l.patch added
- Status changed from Nouveau to Solution proposée
- Patch proposed changed from No to Yes
Updated by Emmanuel Cazenave almost 7 years ago
- Status changed from Solution proposée to Solution validée
Updated by Thomas Noël almost 7 years ago
On passe tranquillement sur le fait que le résultat va être inexploitable ? :/
Updated by Benjamin Dauvergne almost 7 years ago
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.
Updated by Thomas Noël almost 7 years ago
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 ?
Updated by Benjamin Dauvergne almost 7 years ago
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.
Updated by Serghei Mihai over 6 years ago
- Status changed from Solution validée to En cours