Résultats de la recherche

Rechercher dans les contenus ayant un titre ou un résumé disponibles dans les langues sélectionnées

Résultats de la recherche

  1. Question de FAQ collaborative Suspicion de bugue sur l'API csv/search

    Bonjour Je viens juste de rejoindre la communauté : je ne suis pas certain que ce lieu soit le meilleur endroit pour poster une suspicion de bugues, au besoin n'hésitez pas à me rediriger ! Il me semble avoir détecté une erreur du serveur lors de la soumission d'un CSV à l'api de recherche. J'utilise python pour requêter le serveur et j'ai des résultats différents selon que je soumette le même CSV avec deux packages différents. J'ai isolé la source de l'erreur et cela vient manifestement d'une syntaxe du "mutiplart form boundary" qui n'est pas acceptée par l'API. En l'occurrence, le serveur refuse de traiter des CSV transmis avec un form boundary contenant le caractère "=", alors que celui-ci semble bien faire partie du standard comme référencé ici (encore que les commentaires visibles sur le forum laissent à penser que la prise en compte du standard est variable d'un OS à l'autre). Ca peut sembler anecdotique, mais ça fait par exemple échouer le package request-cache qui présente l'intérêt d'une mise en cache des résultats (extrêmement intéressant pour l'utilisation d'API). J'ai d'ailleurs déposé cette issue sur le repo du package. Exemple de code python permettant de reproduire le bugue (désolé pour le formatage, osmose ne connaît manifestement pas le python) : import io import pandas as pd import requests from contextlib import contextmanager from urllib3 import filepost csv_sample = """ ID;ENSEIGNE;ADRESSE;COMPLEMENT;CODE POSTAL;COMMUNE;NATURE DU DEBIT 1;;32 route des grands champs;TABAC;01400;L-ABERGEMENT-CLEMENCIAT;Ordinaire permanent 2;;42 RUE ROGER VAILLANT;CC DAME LOUISE-TABAC-;01500;AMBERIEU-EN-BUGEY;Ordinaire permanent 3;TABAC DE LA GARE;6 AV DU GENERAL SARRAIL;TABAC;01500;AMBERIEU-EN-BUGEY;Ordinaire permanent 4;MAISON DE LA PRESSE;14 R BERARD;TABAC;01500;AMBERIEU-EN-BUGEY;Ordinaire permanent 5;;8 AV PAUL PAINLEVE;TABAC;01500;AMBERIEU-EN-BUGEY;Ordinaire permanent """ df = pd.read_csv(io.StringIO(csv_sample), sep=";") files = [ ( "data", ( "data.csv", df.to_csv(index=False, encoding="utf8", sep=";"), "text/csv; charset=utf-8", ), ), ] endpoint = "https://api-adresse.data.gouv.fr/search/csv/" # réusside avec un form boundary standard with requests.Session() as s: # Ce r1 = s.post(endpoint, files=files) print(r1) print("form boundary was %s", r1.request.body.split()[-1:]) with requests.Session() as s: # échec avec un form boundary comprenant des "=" @contextmanager def patch_form_boundary(): original_boundary = filepost.choose_boundary filepost.choose_boundary = lambda: "====test====" yield filepost.choose_boundary = original_boundary with patch_form_boundary(): r2 = s.post(endpoint, files=files) print(r2) print("form boundary was %s", r2.request.body.split()[-1:]) @contextmanager def other_patch_form_boundary(): original_boundary = filepost.choose_boundary filepost.choose_boundary = lambda: "test" yield filepost.choose_boundary = original_boundary # mais réussite dès qu'on retire les "=" with other_patch_form_boundary(): r3 = s.post(endpoint, files=files) print(r3) print("form boundary was %s", r3.request.body.split()[-1:])
  2. Question de FAQ collaborative API Entrepôt échec execution

    Bonjour 🙂, Je teste l'API Entrepôt avec les données fournies en suivant les tutoriels. Je bloque sur l'étape Configuration d'une exécution de ce traitement -> POST /datastores/{datastore}/processings/executions qui renvoie l'erreur 400 correspondant à un défaut des données en entrée 🤔 Dans le corps de la requête : { "processing": "0de8c60b-9938-4be9-aa36-9026b77c3c96", "inputs": { "upload": [ "{upload}" ] }, "output": { "stored_data": { "name": "Pays et éco-régions", "storage_tags": ["VECTEUR"] } }, "parameters": { "srs": "EPSG:3857" } } J'ai remplacé la variable {upload} par celle fournie avec GET/datastores/{datastore}/uploads. Le processing est identique. Je suis visiblement passé à coté d'autres paramétrages. Pouvez-vous m'éclairer ? Merci 🙏
  3. Question de FAQ collaborative Est-ce le lieu pour poser des questions techniques sur l'usage de l'API ?

    Bonjour, je teste en ce moment les possibilités de l'API et j'ai pas mal de questions au sujet de ses possibilités, des remontés de "problèmes" à faire et des remarques d'évolution possible. Est-ce que ce forum est le lieu pour faire cela ou y a t il un autre endroit plus adapté (ex : github, gitlab ?) En vous remerciant pour votre réponse Cordialement