diff --git a/odoo/tools/config.py b/odoo/tools/config.py index ec7cc0c0cb1b7f3bd7bcf64ca0ab298d47ba4bce..5e925aba0e2e91c9f02e5417a6bd24d58a69e69f 100644 --- a/odoo/tools/config.py +++ b/odoo/tools/config.py @@ -6,6 +6,7 @@ try: except ImportError: import ConfigParser +import errno import logging import optparse import os @@ -620,9 +621,11 @@ class configmanager(object): @property def session_dir(self): d = os.path.join(self['data_dir'], 'sessions') - if not os.path.exists(d): + try: os.makedirs(d, 0o700) - else: + except OSError as e: + if e.errno != errno.EEXIST: + raise assert os.access(d, os.W_OK), \ "%s: directory is not writable" % d return d