diff --git a/fsl/utils/platform.py b/fsl/utils/platform.py index fc9c7d1138ed1ddb92f1b46fbc4f4eaac1f4198d..21dd92a19203fdbf276ec5414d1cac6876ba9cff 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()