diff --git a/src/data_preparation.py b/src/data_preparation.py index c23c9a9f962848f63a3ff2aa8b6e9f012dd562e4..873433f499f51c003988d8b33da7a525d14544fa 100644 --- a/src/data_preparation.py +++ b/src/data_preparation.py @@ -71,7 +71,7 @@ class DataPrep(object): data is available. The latter case, store downloaded data locally if wished (default yes). """ - self.check_path_and_create() + helpers.check_path_and_create(self.path) file_name = self._set_file_name() meta_file = self._set_meta_file_name() try: @@ -113,14 +113,6 @@ class DataPrep(object): return f"Dataprep(path='{self.path}', network='{self.network}', station={self.station}, " \ f"variables={self.variables}, **{self.kwargs})" - def check_path_and_create(self): - try: - os.makedirs(self.path) - logging.info(f"Created path: {self.path}") - except FileExistsError: - logging.info(f"Path already exists: {self.path}") - pass - def interpolate(self, dim: str, method: str = 'linear', limit: int = None, use_coordinate: Union[bool, str] = True, **kwargs): """ diff --git a/src/helpers.py b/src/helpers.py index 424b2fb519726adde9d8d30fb610379f9b4dfed3..2866709787f607f3144c009bc2197a5f296e7118 100644 --- a/src/helpers.py +++ b/src/helpers.py @@ -2,7 +2,19 @@ __author__ = 'Lukas Leufen' __date__ = '2019-10-21' +import os +import logging + + def to_list(arg): if not isinstance(arg, list): arg = [arg] return arg + + +def check_path_and_create(path): + try: + os.makedirs(path) + logging.info(f"Created path: {path}") + except FileExistsError: + logging.info(f"Path already exists: {path}") diff --git a/test/test_data_preparation.py b/test/test_data_preparation.py index 0e0984f096fd444fb76f29184df8b1d85a046756..c118e0d53ea368d99e89bfe72dd0a9bd5ae01b6d 100644 --- a/test/test_data_preparation.py +++ b/test/test_data_preparation.py @@ -29,18 +29,6 @@ class TestDataPrep: with pytest.raises(NotImplementedError): DataPrep('data/', 'dummy', 'DEBW107', ['o3', 'temp']) - def test_check_path_and_create(self, caplog): - caplog.set_level(logging.INFO) - d = object.__new__(DataPrep) - d.path = 'data/test' - assert not os.path.exists('data/test') - d.check_path_and_create() - assert os.path.exists('data/test') - assert caplog.messages[0] == "Created path: data/test" - d.check_path_and_create() - assert caplog.messages[1] == "Path already exists: data/test" - os.rmdir('data/test') - def test_repr(self): d = object.__new__(DataPrep) d.path = 'data/test' diff --git a/test/test_helpers.py b/test/test_helpers.py index a88eb9c24576c8b714e7b912c273e536201bafc7..fa5f1dcc0e0732af049b384415e685ebaafdc21e 100644 --- a/test/test_helpers.py +++ b/test/test_helpers.py @@ -1,5 +1,7 @@ import pytest -from src.helpers import to_list +from src.helpers import to_list, check_path_and_create +import logging +import os class TestToList: @@ -9,3 +11,17 @@ class TestToList: assert to_list('abcd') == ['abcd'] assert to_list([1, 2, 3]) == [1, 2, 3] assert to_list([45]) == [45] + + +class TestCheckPath: + + def test_check_path_and_create(self, caplog): + caplog.set_level(logging.INFO) + path = 'data/test' + assert not os.path.exists('data/test') + check_path_and_create(path) + assert os.path.exists('data/test') + assert caplog.messages[0] == "Created path: data/test" + check_path_and_create(path) + assert caplog.messages[1] == "Path already exists: data/test" + os.rmdir('data/test')