"""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):
_logger = logging.getLogger(__name__)
# addons path as a list
-ad_paths = [tools.config.addons_data_dir]
+ad_paths = []
hooked = False
# Modules already loaded
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:
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):
@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: