From c845bef20657b57e83d44cc3dd3ded83ef058381 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Sat, 24 Sep 2011 18:57:05 +0200 Subject: [PATCH] [IMP] web.common.sesion local backend part2 bzr revid: al@openerp.com-20110924165705-c0wd7hcup9ib74ry --- addons/web/__init__.py | 6 ++++-- addons/web/common/openerplib/main.py | 4 ++-- addons/web/common/session.py | 13 +++++++++---- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/addons/web/__init__.py b/addons/web/__init__.py index 6934ef1e81a..263e0b8be17 100644 --- a/addons/web/__init__.py +++ b/addons/web/__init__.py @@ -2,16 +2,18 @@ import common import controllers import common.dispatch import logging +import optparse _logger = logging.getLogger(__name__) +class Options(object): + pass + def wsgi_postload(): import openerp.wsgi import os import tempfile _logger.info("embedded mode") - class Options(object): - pass o = Options() o.dbfilter = '.*' o.session_storage = os.path.join(tempfile.gettempdir(), "oe-sessions") diff --git a/addons/web/common/openerplib/main.py b/addons/web/common/openerplib/main.py index 75941b4ee9e..33e8a4075f8 100644 --- a/addons/web/common/openerplib/main.py +++ b/addons/web/common/openerplib/main.py @@ -379,7 +379,7 @@ class Model(object): records = self.read(record_ids, fields or [], context or {}) return records -def get_connector(hostname, protocol="xmlrpc", port="auto"): +def get_connector(hostname=None, protocol="xmlrpc", port="auto"): """ A shortcut method to easily create a connector to a remote server using XMLRPC or NetRPC. @@ -398,7 +398,7 @@ def get_connector(hostname, protocol="xmlrpc", port="auto"): else: raise ValueError("You must choose xmlrpc or netrpc or local") -def get_connection(hostname, protocol="xmlrpc", port='auto', database=None, +def get_connection(hostname=None, protocol="xmlrpc", port='auto', database=None, login=None, password=None, user_id=None): """ A shortcut method to easily create a connection to a remote OpenERP server. diff --git a/addons/web/common/session.py b/addons/web/common/session.py index 670ab75e1e7..c06763bebe2 100644 --- a/addons/web/common/session.py +++ b/addons/web/common/session.py @@ -39,11 +39,16 @@ class OpenERPSession(object): self._lang = {} self.remote_timezone = 'utc' self.client_timezone = False - + def build_connection(self): - return openerplib.get_connection(hostname=self.config.server_host, port=self.config.server_port, - database=self._db, login=self._login, - user_id=self._uid, password=self._password) + 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, + user_id=self._uid, password=self._password) + return conn def proxy(self, service): return self.build_connection().get_service(service)