[IMP] web.common.sesion local backend part2
authorAntony Lesuisse <al@openerp.com>
Sat, 24 Sep 2011 16:57:05 +0000 (18:57 +0200)
committerAntony Lesuisse <al@openerp.com>
Sat, 24 Sep 2011 16:57:05 +0000 (18:57 +0200)
bzr revid: al@openerp.com-20110924165705-c0wd7hcup9ib74ry

addons/web/__init__.py
addons/web/common/openerplib/main.py
addons/web/common/session.py

index 6934ef1..263e0b8 100644 (file)
@@ -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")
index 75941b4..33e8a40 100644 (file)
@@ -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.
index 670ab75..c06763b 100644 (file)
@@ -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)