diff --git a/src/helpers.py b/src/helpers.py index 781a6e6cafe740432dc171616398bf2836bbefd2..299861df15c1c497e0a1d07c87739fb7547a7020 100644 --- a/src/helpers.py +++ b/src/helpers.py @@ -135,7 +135,10 @@ class TimeTracking(object): def prepare_host(create_new=True): hostname = socket.gethostname() - user = os.getlogin() + try: + user = os.getlogin() + except OSError: + user = "default" if hostname == 'ZAM144': path = f'/home/{user}/Data/toar_daily/' elif hostname == 'zam347': @@ -150,10 +153,13 @@ def prepare_host(create_new=True): logging.error(f"unknown host '{hostname}'") raise OSError(f"unknown host '{hostname}'") if not os.path.exists(path): - if create_new: - check_path_and_create(path) - return path - else: + try: + if create_new: + check_path_and_create(path) + return path + else: + raise PermissionError + except PermissionError: logging.error(f"path '{path}' does not exist for host '{hostname}'.") raise NotADirectoryError(f"path '{path}' does not exist for host '{hostname}'.") else: diff --git a/test/test_helpers.py b/test/test_helpers.py index dfd0dffea0f50502bfdf7cf00af9f4a8c8d1b6c6..be4735ff6eb10a0b4c90603668bc60883b8dff82 100644 --- a/test/test_helpers.py +++ b/test/test_helpers.py @@ -171,7 +171,7 @@ class TestPrepareHost: mock_host.return_value = "linux-gzsx" with pytest.raises(NotADirectoryError) as e: prepare_host() - assert "path '/home/zombie21/machinelearningtools' does not exist for host 'linux-gzsx'" in e.value.args[0] + assert "does not exist for host 'linux-gzsx'" in e.value.args[0] class TestSetExperimentName: