Plus d'articles sur www.easyopenerp.com
XML-RPC est une technologie de communication très simple qui permet d'échanger, de récupérer ou de réaliser des actions. XML-RPC est l'une des technologies de communication native d'OpenERP. Même si cette technologie est simple, elle est assez peu documentée et la publication d'articles sur le sujet est de moins en moins fréquente ces dernières années.
Dans cet présentation, nous allons vous montrer deux exemples :
Un premier qui va récupérer la liste des partenaires
Un second qui va effectuer une recherche sur le partenaire China Export
2. • XML-RPC est une technologie de communication très simple qui
permet d'échanger, de récupérer ou de réaliser des actions. XML-
RPC est l'une des technologies de communication native d'OpenERP.
Même si cette technologie est simple, elle est assez peu documentée
et la publication d'articles sur le sujet est de moins en moins
fréquente.
• Dans cet présentation, nous allons vous montrer deux exemples :
• Un premier qui va récupérer la liste des partenaires
• Un second qui va effectuer une recherche sur le partenaire China
Export
3. Récupérer la lite des partenaires
#!/usr/bin/python • # Le port 8069 peut changer selon votre
configuration. Il est aussi possible de se
# -*- coding: utf-8 -*- connecter en https
• # On importe la librairie de • # xmlrps/%s est le chemin de
communication établi par OpenERP
communication XML-RPC.
import xmlrpclib base_url = ‘http://votreIP:8069/xmlrpc/%s’
• # On déclare nos variables pour plus de
clarté. Attention en python cette variable
database =’maBaseDeDonnées’
user=’monLogin’
est typée comme une chaine, il ne sera pas password=’monMotDePass’
possible de changer son type
ultérieurement (sous condition)
4. Récupérer la lite des partenaires
• # On se connecte user_id =
common_proxy.login(database,user,password)
common_proxy = xmlrpclib.ServerProxy(base_url print (« Je suis l’utilisateur %d » % (user_id))
% ‘common’)
object_proxy = xmlrpclib.ServerProxy(base_url % • # On va maintenant pouvoir récupérer la liste des
‘object’) partenaires qui est stockée dans la variable partns
def object_execute(*args): partns = object_execute(‘res.partner’,'search’,[])
return • # On parcours maintenant cette liste et on affiche
object_proxy.execute(database,user_id,password, le nom du partenaire
*args)
for partn in object_execute(‘res.partner’, ‘read’,
• # On réalise la connexion qui permet de partns,['name']):
récupérer l’ID de l’utilisateur
print partn
5. Faire une recherche de partenaire
• Ce code vous permet de recherche le partenaire «China Export»
partns = object_execute(‘res.partner’,'search’,[('name','=','China Export')])
for partn in object_execute(‘res.partner’, ‘read’, partns,['name','ref','lang']):
print partn
6. Retrouvez cet article sur
www.easyopenerp.com
Développement Python :
Site du zéro pour les bases
Apprendre à programmer avec python de Girard
Swinnen collection O'Reilly