diff --git a/openerp/http.py b/openerp/http.py index 3c2998699e7..c154330b059 100644 --- a/openerp/http.py +++ b/openerp/http.py @@ -1145,11 +1145,14 @@ class Root(object): """Root WSGI application for the OpenERP Web Client. """ def __init__(self): + self._loaded = False + + @lazy_property + def session_store(self): # Setup http sessions path = openerp.tools.config.session_dir _logger.debug('HTTP sessions stored in: %s', path) - self.session_store = werkzeug.contrib.sessions.FilesystemSessionStore(path, session_class=OpenERPSession) - self._loaded = False + return werkzeug.contrib.sessions.FilesystemSessionStore(path, session_class=OpenERPSession) @lazy_property def nodb_routing_map(self): diff --git a/openerp/modules/module.py b/openerp/modules/module.py index 505e51b0394..72b87e0bbfa 100644 --- a/openerp/modules/module.py +++ b/openerp/modules/module.py @@ -43,7 +43,7 @@ MANIFEST = '__openerp__.py' _logger = logging.getLogger(__name__) # addons path as a list -ad_paths = [tools.config.addons_data_dir] +ad_paths = [] hooked = False # Modules already loaded @@ -89,6 +89,10 @@ def initialize_sys_path(): global ad_paths global hooked + dd = tools.config.addons_data_dir + if dd not in ad_paths: + ad_paths.append(dd) + for ad in tools.config['addons_path'].split(','): ad = os.path.abspath(tools.ustr(ad.strip())) if ad not in ad_paths: diff --git a/openerp/tools/config.py b/openerp/tools/config.py index 9a054772695..e4205f0b5f5 100644 --- a/openerp/tools/config.py +++ b/openerp/tools/config.py @@ -61,7 +61,10 @@ def check_ssl(): DEFAULT_LOG_HANDLER = [':INFO'] def _get_default_datadir(): - return appdirs.user_data_dir(appname='OpenERP', appauthor=release.author) + home = os.path.expanduser('~') + func = appdirs.user_data_dir if os.path.exists(home) else appdirs.site_data_dir + # No "version" kwarg as session and filestore paths are shared against series + return func(appname='Odoo', appauthor=release.author) class configmanager(object): def __init__(self, fname=None): @@ -649,7 +652,7 @@ class configmanager(object): @property def session_dir(self): - d = os.path.join(self['data_dir'], 'sessions', release.series) + d = os.path.join(self['data_dir'], 'sessions') if not os.path.exists(d): os.makedirs(d, 0700) else: