summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorAntony Lesuisse <al@openerp.com>2011-09-24 18:57:05 +0200
committerAntony Lesuisse <al@openerp.com>2011-09-24 18:57:05 +0200
commitc845bef20657b57e83d44cc3dd3ded83ef058381 (patch)
tree51fbafbfa1d157305778219edf3182216dbbd2db /addons
parent0a02a387399880395c1275efb78480ee7e6c8692 (diff)
[IMP] web.common.sesion local backend part2
bzr revid: al@openerp.com-20110924165705-c0wd7hcup9ib74ry
Diffstat (limited to 'addons')
-rw-r--r--addons/web/__init__.py6
-rw-r--r--addons/web/common/openerplib/main.py4
-rw-r--r--addons/web/common/session.py13
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)