aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fietsboek/__init__.py13
-rw-r--r--tests/conftest.py2
2 files changed, 15 insertions, 0 deletions
diff --git a/fietsboek/__init__.py b/fietsboek/__init__.py
index b533e97..737ee53 100644
--- a/fietsboek/__init__.py
+++ b/fietsboek/__init__.py
@@ -143,6 +143,18 @@ def check_db_engine(sqlalchemy_uri: str):
)
+def create_data_folders(data_dir: str):
+ """Creates the subfolders of the data directory.
+
+ :param data_dir: Path to the data directory, from the config.
+ """
+ ddir = Path(data_dir)
+ LOGGER.debug("Creating %s/tracks/", ddir)
+ (ddir / "tracks").mkdir(exist_ok=True)
+ LOGGER.debug("Creating %s/users/", ddir)
+ (ddir / "users").mkdir(exist_ok=True)
+
+
def main(global_config, **settings):
"""This function returns a Pyramid WSGI application."""
# Avoid a circular import by not importing at the top level
@@ -157,6 +169,7 @@ def main(global_config, **settings):
settings["jinja2.newstyle"] = True
check_db_engine(parsed_config.sqlalchemy_url)
+ create_data_folders(parsed_config.data_dir)
def data_manager(request):
data_dir = Path(request.config.data_dir)
diff --git a/tests/conftest.py b/tests/conftest.py
index b49dad2..732c8d2 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -76,8 +76,10 @@ def _cleanup_data(app_settings):
data_dir = Path(app_settings["fietsboek.data_dir"])
if (data_dir / "tracks").is_dir():
shutil.rmtree(data_dir / "tracks")
+ (data_dir / "tracks").mkdir()
if (data_dir / "users").is_dir():
shutil.rmtree(data_dir / "users")
+ (data_dir / "users").mkdir()
@pytest.fixture(scope='module')
def app(app_settings, dbengine, tmp_path_factory):