diff --git a/trytond/trytond/filestore.py b/trytond/trytond/filestore.py index 814643bfae..fa08aaca9b 100644 --- a/trytond/trytond/filestore.py +++ b/trytond/trytond/filestore.py @@ -8,6 +8,8 @@ from trytond.tools import resolve __all__ = ['filestore'] +PATH = os.path.normpath(config.get('database', 'path')) + class FileStore(object): @@ -51,10 +53,9 @@ class FileStore(object): return [self.set(d, prefix) for d in data] def _filename(self, id, prefix): - path = os.path.normpath(config.get('database', 'path')) - filename = os.path.join(path, prefix, id[0:2], id[2:4], id) + filename = os.path.join(PATH, prefix, id[0:2], id[2:4], id) filename = os.path.normpath(filename) - if not filename.startswith(path): + if not filename.startswith(PATH): raise ValueError('Bad prefix') return filename diff --git a/trytond/trytond/tests/test_field_binary.py b/trytond/trytond/tests/test_field_binary.py index 45d47ad72f..872f45c2e3 100644 --- a/trytond/trytond/tests/test_field_binary.py +++ b/trytond/trytond/tests/test_field_binary.py @@ -6,7 +6,7 @@ import unittest from sql import Literal -from trytond.config import config +from trytond import filestore from trytond.model import fields from trytond.model.exceptions import ( RequiredValidationError, SQLConstraintError) @@ -25,10 +25,11 @@ class FieldBinaryTestCase(unittest.TestCase): activate_module('tests') def setUp(self): - path = config.get('database', 'path') + super().setUp() + path = filestore.PATH dtemp = tempfile.mkdtemp() - config.set('database', 'path', dtemp) - self.addCleanup(config.set, 'database', 'path', path) + filestore.PATH = dtemp + self.addCleanup(setattr, filestore, 'PATH', path) self.addCleanup(shutil.rmtree, dtemp) @with_transaction()