diff --git a/src/qkit/storage/hdf_DateTimeGenerator.py b/src/qkit/storage/hdf_DateTimeGenerator.py index 34f14ec1..10053936 100644 --- a/src/qkit/storage/hdf_DateTimeGenerator.py +++ b/src/qkit/storage/hdf_DateTimeGenerator.py @@ -64,12 +64,19 @@ def new_filename_v2(self, name): filename += '_' + str(name) self.returndict['_filename'] = filename + '.h5' '''New filename with datadir/run_id/user/uuid_name/uuid_name.h5''' + + path_components = [ + qkit.cfg.get('run_id', 'NO_RUN').strip().replace(" ", "_").upper(), + qkit.cfg.get('user', 'John_Doe').strip().replace(" ", "_") + ] + + path_extension = qkit.cfg.get('path_extension') + if path_extension is not None and path_extension: + path_components.append(str(path_extension)) - self.returndict['_relfolder'] = os.path.join( - qkit.cfg.get('run_id', 'NO_RUN').strip().replace(" ", "_").upper(), - qkit.cfg.get('user', 'John_Doe').strip().replace(" ", "_"), - filename - ) + path_components.append(filename) + + self.returndict['_relfolder'] = os.path.join(*path_components) def encode_uuid(value): diff --git a/tests/DTG_test.py b/tests/DTG_test.py new file mode 100644 index 00000000..bb3e7af9 --- /dev/null +++ b/tests/DTG_test.py @@ -0,0 +1,15 @@ +import pytest +from qkit.storage.hdf_DateTimeGenerator import DateTimeGenerator +import qkit +import re + +def test_DateTimeGenerator_no_extension(): + dtg = DateTimeGenerator() + returndict = dtg.new_filename("test_file.h5") + assert re.match("NO_RUN/John_Doe/......_test_file\\.h5", returndict['_relfolder']) + +def test_DateTimeGenerator_with_extension(): + qkit.cfg['path_extension'] = 'extension' + dtg = DateTimeGenerator() + returndict = dtg.new_filename("test_file.h5") + assert re.match("NO_RUN/John_Doe/extension/......_test_file\\.h5", returndict['_relfolder']) \ No newline at end of file