Projet

Général

Profil

Development #2747

compatibilité wcs quand on cherche une seule réponse

Ajouté par Thomas Noël il y a environ 11 ans. Mis à jour il y a presque 6 ans.

Statut:
Fermé
Priorité:
Haut
Assigné à:
-
Version cible:
-
Début:
12 avril 2013
Echéance:
% réalisé:

90%

Temps estimé:
Patch proposed:
Planning:

Description

Cas classique : dans un workflow de wcs, je désire obtenir le nom d'un centre de gestion en fonction d'un code postal.

Ce qui serait simple :
  • Je mets un CSV dans passerelle
  • Dans le workflow de wcs, je fais un appel (wscall #2746) sur http://.../departement/json?q=[form_var_cp] dont le résultat sera stocké dans une variable wfcp
  • En retour, j'ai une variable de substitution wfcp_response_data = "code-du-centre"
  • je peux utiliser cette variable dans des tests, des messages, etc.
Problème dans la situation actuelle :
  • passerelle renvoie ça :
    {"data": [{"text": "14117", "id": "BESSIN"}], "err": 0}
  • et donc dans le formdata on a ça :
    u'wfcp_response_data': [{u'id': u'BESSIN', u'text': u'14117'}],
    u'wfcp_response_err': 0,
    

Ce qui n'est pas utilisable dans ezt et difficilement compréhensible dans des conditions de jump et autres...

Il faudrait donc disposer d'une façon d'interroger passerelle différente... Autre chose que "?q=..." ?


Fichiers

id-param-for-csv-datasource.diff (1,85 ko) id-param-for-csv-datasource.diff Thomas Noël, 13 avril 2013 22:37
get-by-id.diff (2,76 ko) get-by-id.diff Thomas Noël, 15 avril 2013 00:09

Révisions associées

Révision 625b2a27 (diff)
Ajouté par Thomas Noël il y a environ 11 ans

add /datasource/<id>/json view (get_data_by_id) (fix #2747)

Historique

#1

Mis à jour par Thomas Noël il y a environ 11 ans

Je propose d'ajouter la possibilité d'obtenir un champ "value" d'un CSV avec une interrogation "json?key=...".. Je tente un patch tout à l'heure.

#2

Mis à jour par Thomas Noël il y a environ 11 ans

Voilà. On peut faire un json?id=... dans une source fichier CSV, ça renvoie la valeur correspondant à l'id cherché.

Exemple : http://localhost:8000/data/clic/json?id=14117 renvoie {"data": "BESSIN", "err": 0}

Attention, puisque "get_data" ne renvoie plus forcément une liste, j'ai supprimé les "sorted()" dans views.py. Si une source doit renvoyer un résultat trié, elle doit le faire dans son get_data().

Ca me semble assez logique, mais ça a peut-être des effets de bords ?...

#3

Mis à jour par Thomas Noël il y a environ 11 ans

  • Statut changé de Nouveau à Solution déployée
#4

Mis à jour par Thomas Noël il y a environ 11 ans

Suite à discussion avec Fred, utilisation d'une URL /<datasource>/<id>/json pour faire un GET ou un POST sur une id donnée.

(testé sur une passerelle installée en local:8000 sur calvados.dev)

#5

Mis à jour par Thomas Noël il y a environ 11 ans

  • % réalisé changé de 0 à 90
#6

Mis à jour par Thomas Noël il y a environ 11 ans

  • Statut changé de Solution déployée à Résolu (à déployer)
#7

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

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF