Bug #33762
API 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
Associated revisions
Revert "api_entreprise: don't try to parse dates for string lists contain items (#33762)"
This reverts commit 4fcb8106e6b9941235ef80ebd368362a9ab5c053.
History
Updated by Serghei Mihai almost 6 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 6 years ago
- Status changed from Solution proposée to Solution validée
Updated by Thomas Noël almost 6 years ago
On passe tranquillement sur le fait que le résultat va être inexploitable ? :/
Updated by Benjamin Dauvergne almost 6 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 6 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 6 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.
api_entreprise: don't try to parse dates for string lists contain items (#33762)