Development #1251
Module WS Domino-Abelium
0%
Description
Ce module est une interface vers le web-service SOAP du logiciel Abelium-Domino, il permet de lister les familles et les factures. Pour faciliter les rapprochements on peut lister les familles avec seulement quelques champs dans un premier temps, trouver la famille concernée puis demander une complétion des champs manquants.
Il y a trois classes:
- Famille
- Facture
- DominoWs
Le constructeur de DominoWs
prend en argument l'URL du fichier WSDL, le domaine, le login et le mot de passe, ainsi qu'éventuellement l'emplacement du port SOAP si le WSDL est faux sur ce point.
Il y a deux propriétés contenant des dictionnaires qui donnent accès à la listes des familles et des factures:
- familles
- factures
Les familles du dictionnaire familles sont incomplète, avec seulement 5 champs chargés:
- id
- nom
- email_pere
- email_mere
- adresse_internet
<=> email_famille
L'idée étant de pouvoir faire un rapprochement à l'aide d'une adresse email.
Une fois la bonne famille retrouvée il faut utilisé la méthode complete()
de l'object de type Famille
pour récupérer le reste des champs.
La liste des champs possible est dans l'attribute MORE_COLUMNS
de la class Famille
.
Pour obtenir la liste des factures pour une famille, il y a une propriété factures
.
Les factures contiennent les champs suivant:
- id
(int)
- debut_periode
(date)
- fin_periode
(date)
- creation
(date)
- echeance
(date)
- montant
(Decimal)
- reste
(Decimal)
Un méthode detail()
de la class Facture
permet d'obtenir le detail de la facture dans un dictionnaire:
{ 'etablissement': 'CENTRE MARCEL CATHELAIN' 'lignes': [ { 'quantite': '14', 'prix': '1.7', 'montant': '23.8', 'designation': 'Bons CAF Journée(s) Août' }, .. ] }
La plupart des méthodes ou propriété donnent lieu à la création d'un cache pour accélérer les accès. Pour avoir des données fraiches il faut appeler la méthode clear_cache()
sur une instance de la classe DominoWs
.
Fichiers
Historique
Mis à jour par Frédéric Péters il y a environ 12 ans
Pas fan des libellés en français dans le code.
Le try/except ImportError pour l'import de suds.client, il pourrait être répété sur suds.bindings, sinon il ne sert pas à grand chose.
Il reste un "print args", malgré le logger.debug de la ligne qui le précède. Dans la même veine il reste un "import pdb".
Préférer les list comprehensions aux map().
À part tout ça, j'attendrais d'avoir du code utilisant ce module avant de l'ajouter à auquo.
Mis à jour par Anonyme il y a environ 12 ans
- Fichier abelium_domino_ws.py abelium_domino_ws.py ajouté
Frédéric Péters a écrit :
Pas fan des libellés en français dans le code.
C'est extrait de domino, j'aurai pu tout traduire en anglais puis faire une trad, mais euh... j'attends une vrai demande.
Le try/except ImportError pour l'import de suds.client, il pourrait être répété sur suds.bindings, sinon il ne sert pas à grand chose.
En fait je vais le virer tout simplement, ce sera mieux géré au niveau des modules utilisateurs de au-quotidien.
Il reste un "print args", malgré le logger.debug de la ligne qui le précède. Dans la même veine il reste un "import pdb".
Préférer les list comprehensions aux map().
À part tout ça, j'attendrais d'avoir du code utilisant ce module avant de l'ajouter à auquo.
Ok.
Mis à jour par Anonyme il y a environ 12 ans
Anonyme a écrit :
Frédéric Péters a écrit :
Pas fan des libellés en français dans le code.
C'est extrait de domino, j'aurai pu tout traduire en anglais puis faire une trad, mais euh... j'attends une vrai demande.
Un doute tout d'un coup. Tu parles des descriptions des champs ou bien du fait d'appeler les deux classes Famille et Facture ?
Mis à jour par Frédéric Péters il y a environ 12 ans
Je parle de l'utilisation du français de manière générale, du
class Famille(SimpleObject): de la ligne 75
au
raise ValueError('Il reste %s euros a facture par %s' % (reste_du, montant)) de la ligne 385.
Mis à jour par Benjamin Dauvergne il y a environ 12 ans
- Fichier abelium_domino_ws.py abelium_domino_ws.py ajouté
Voilà j'ai corrigé les problèmes de franglish (sauf la description des champs, extraite de Domino).
J'ai aussi remis en phase le module avec les dernières modifications commises par Abelium.
Mis à jour par Frédéric Péters il y a presque 12 ans
- Statut changé de Solution déployée à Résolu (à déployer)
Mergé par Benjamin.