[imp] switched client library to openerp-client-lib

bzr revid: nicolas.vanhoren@openerp.com-20110913160947-wtg3beczdtf3gr1t
This commit is contained in:
niv-openerp
2011-09-13 18:09:47 +02:00
parent c7c2b5846d
commit 834e142559
2 changed files with 13 additions and 24 deletions
+1 -9
View File
@@ -10,14 +10,6 @@ class OpenERPConnector(object):
class OpenERPAuth(object):
pass
class OpenERPModel(object):
def __init__(self, session, model):
self._session = session
self._model = model
def __getattr__(self, name):
return lambda *l:self._session.execute(self._model, name, *l)
class OpenERPSession(object):
def __init__(self, model_factory=OpenERPModel):
def __init__(self):
pass
+12 -15
View File
@@ -2,7 +2,7 @@
import datetime
import dateutil.relativedelta
import time
import xmlrpclib
import openerplib
import nonliterals
#----------------------------------------------------------
@@ -17,14 +17,6 @@ class OpenERPConnector(object):
class OpenERPAuth(object):
pass
class OpenERPModel(object):
def __init__(self, session, model):
self._session = session
self._model = model
def __getattr__(self, name):
return lambda *l:self._session.execute(self._model, name, *l)
class OpenERPSession(object):
"""
An OpenERP RPC session, a given user can own multiple such sessions
@@ -42,7 +34,7 @@ class OpenERPSession(object):
Used to store references to non-literal domains which need to be
round-tripped to the client browser.
"""
def __init__(self, server='127.0.0.1', port=8069, model_factory=OpenERPModel):
def __init__(self, server='127.0.0.1', port=8069):
self._server = server
self._port = port
self._db = False
@@ -57,10 +49,14 @@ class OpenERPSession(object):
self._lang = {}
self.remote_timezone = 'utc'
self.client_timezone = False
def build_connection(self):
return openerplib.get_connection(hostname=self._server, port=self._port,
database=self._db,
user_id=self._uid, password=self._password)
def proxy(self, service):
s = xmlrpclib.ServerProxy('http://%s:%s/xmlrpc/%s' % (self._server, self._port, service))
return s
return self.build_connection().get_service(service)
def bind(self, db, uid, password):
self._db = db
@@ -84,7 +80,8 @@ class OpenERPSession(object):
def execute(self, model, func, *l, **d):
self.assert_valid()
r = self.proxy('object').execute(self._db, self._uid, self._password, model, func, *l, **d)
model = self.build_connection().get_model(model)
r = getattr(model, func)(*l, **d)
return r
def exec_workflow(self, model, id, signal):
@@ -97,9 +94,9 @@ class OpenERPSession(object):
:param model: an OpenERP model name
:type model: str
:rtype: :class:`openerpweb.openerpweb.OpenERPModel`
:rtype: a model object
"""
return self.model_factory(self, model)
return self.build_connection().get_model(model)
def get_context(self):
""" Re-initializes the current user's session context (based on