From dbab31eeef6fd248311651ec16f7dd0badf4f5cd Mon Sep 17 00:00:00 2001
From: Paul McCarthy <pauld.mccarthy@gmail.com>
Date: Fri, 23 Dec 2016 14:01:15 +0000
Subject: [PATCH] FSLDIR is set to None if it is invalid

---
 fsl/utils/platform.py | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/fsl/utils/platform.py b/fsl/utils/platform.py
index fc9c7d113..21dd92a19 100644
--- a/fsl/utils/platform.py
+++ b/fsl/utils/platform.py
@@ -22,6 +22,7 @@ away various platform differences:
 import logging
 
 import os
+import os.path as op
 import sys
 import importlib
 
@@ -144,7 +145,7 @@ class Platform(notifier.Notifier):
         self.WX_GTK        = WX_GTK
         self.isWidgetAlive = isWidgetAlive
 
-        self.__fsldir       = os.environ.get('FSLDIR', None)
+        self.fsldir         = os.environ.get('FSLDIR', None)
         self.__inSSHSession = False
         self.__glVersion    = None
         self.__glRenderer   = None
@@ -279,8 +280,17 @@ class Platform(notifier.Notifier):
         """Changes the value of the :attr:`fsldir` property, and notifies any
         registered listeners.
         """
+        value = value.strip()
+        
+        if   value == '':          value = None
+        elif not op.exists(value): value = None
+        elif not op.isdir(value):  value = None
+            
         self.__fsldir        = value
-        os.environ['FSLDIR'] = value
+
+        if value is not None:
+            os.environ['FSLDIR'] = value
+            
         self.notify()
 
         
-- 
GitLab