Articles avec le tag ‘Python’
XmlRPC en python et OpenERP
Il est très facile d’interagir avec OpenERP grâce aux requêtes xmlrpc.
Ex de code en python :
#!/usr/bin/python
import xmlrpclib
import sys
username = 'admin' #the user
pwd = 'admin' #the password of the user
dbname = 'demo' #the database
sock_common = xmlrpclib.ServerProxy ('http://localhost:8069/xmlrpc/common')
uid = sock_common.login(dbname, username, pwd)
sock = xmlrpclib.ServerProxy('http://localhost:8069/xmlrpc/object')
search = sock.execute(dbname, uid, pwd, 'project.project', 'search', [])
print "search", search
read = sock.execute(dbname, uid, pwd, 'project.project', 'read', search)
print "read", read
for row in read:
print " >> ", row, "\n\n"
On peut faire en xmlrpc tout ce qu’on peut faire avec le client lourd ou web.
On peut voir avec le mode debug du client lourd observer les requêtes et leurs résultats (cf : http://www.openerp.com/forum/post47115.html?sid=4e83cd21190ce368079c783d6b216726)
Sous linux :
openerp-client -l dump_rpc
Contrôler les Oracle VM en XML-RPC
Il est possible de contrôler les Hyperviseurs Oracle en XML-RPC.
Voici quelques exemples de commande :
/opt/ovs-agent-2.2/utils/do_rpc.py https://oracle:motdepasse@IPdelHYPERVISEUR:8899 xen_get_vm_names
xen_get_vm_names [] =>
success:vm_names=OVM-TEST,OVM_MANAGER
/opt/ovs-agent-2.2/utils/do_rpc.py https://oracle:motdepasse@IPdelHYPERVISEUR:8899 xen_get_vm_path OVM-TEST
xen_get_vm_path ['OVM-TEST'] =>
success:path=/OVS/remote/OVM-TEST
/opt/ovs-agent-2.2/utils/do_rpc.py https://oracle:motdepasse@IPdelHYPERVISEUR:8899 xen_migrate_vm /OVS/remote/OVM-TEST IP_DE_LA_VM
xen_migrate_vm ['/OVS/remote/OVM-TEST', 'IP_DE_LA_VM'] =>
success:target_host=IPdelHYPERVISEUR
/opt/ovs-agent-2.2/utils/do_rpc.py https://oracle:motdepasse@IPdelHYPERVISEUR:8899 xen_get_vnc_port /OVS/remote/OVM-TEST
xen_get_vnc_port ['/OVS/remote/OVM-TEST'] =>
success:vnc_port=5901
Il ne reste plus qu’à faire une interface web ou graphique de gestion plus légère que l’Oracle VM Manager