From 3eb210c2dbb07eb9affd98dc1b522528227031ee Mon Sep 17 00:00:00 2001
From: lukas leufen <l.leufen@fz-juelich.de>
Date: Mon, 18 Nov 2019 13:42:30 +0100
Subject: [PATCH] another fix

---
 src/helpers.py       | 16 +++++++++++-----
 test/test_helpers.py |  2 +-
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/helpers.py b/src/helpers.py
index 781a6e6c..299861df 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 dfd0dffe..be4735ff 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:
-- 
GitLab