[imp] now uses a global connector for connection to OpenERP server

bzr revid: nicolas.vanhoren@openerp.com-20110929121732-xydsj26xw9fyn1hr
This commit is contained in:
niv-openerp
2011-09-29 14:17:32 +02:00
parent 3c7093aa6e
commit a658311000
3 changed files with 20 additions and 7 deletions
+7
View File
@@ -311,6 +311,13 @@ class Root(object):
def __init__(self, options):
self.root = werkzeug.urls.Href('/web/webclient/home')
self.config = options
if self.config.backend == 'local':
conn = openerplib.get_connector(protocol='local')
else:
conn = openerplib.get_connector(hostname=self.config.server_host,
port=self.config.server_port)
self.config.connector = conn
self.session_cookie = 'sessionid'
self.addons = {}
+9 -1
View File
@@ -71,6 +71,14 @@ class Connector(object):
self.hostname = hostname
self.port = port
def get_service(self, service_name):
"""
Returns a Service instance to allow easy manipulation of one of the services offered by the remote server.
:param service_name: The name of the service.
"""
return Service(self, service_name)
class XmlRPCConnector(Connector):
"""
A type of connector that uses the XMLRPC protocol.
@@ -321,7 +329,7 @@ class Connection(object):
:param service_name: The name of the service.
"""
return Service(self.connector, service_name)
return self.connector.get_service(service_name)
class AuthenticationError(Exception):
"""
+4 -6
View File
@@ -5,6 +5,9 @@ import time
import openerplib
import nonliterals
import logging
_logger = logging.getLogger(__name__)
#----------------------------------------------------------
# OpenERPSession RPC openerp backend access
#----------------------------------------------------------
@@ -41,12 +44,7 @@ class OpenERPSession(object):
self.client_timezone = False
def build_connection(self):
if self.config.backend == 'local':
conn = openerplib.get_connection(protocol='local', database=self._db,
login=self._login, user_id=self._uid, password=self._password)
else:
conn = openerplib.get_connection(hostname=self.config.server_host,
port=self.config.server_port, database=self._db, login=self._login,
conn = openerplib.Connection(self.config.connector, database=self._db, login=self._login,
user_id=self._uid, password=self._password)
return conn