From c91b6aeb8999036a98a7e93dad4a0386120346a9 Mon Sep 17 00:00:00 2001
From: Michiel Cottaar <MichielCottaar@gmail.com>
Date: Wed, 10 Oct 2018 14:10:52 +0100
Subject: [PATCH] ENH: allow default variable in get_variable

---
 fsl/utils/filetree/filetree.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/fsl/utils/filetree/filetree.py b/fsl/utils/filetree/filetree.py
index b231da407..10afe1e2a 100644
--- a/fsl/utils/filetree/filetree.py
+++ b/fsl/utils/filetree/filetree.py
@@ -54,17 +54,20 @@ class FileTree(object):
         res.update(self.variables)
         return res
 
-    def get_variable(self, name: str) -> str:
+    def get_variable(self, name: str, default=None) -> str:
         """
         Gets a variable used to fill out the template
 
         :param name: variable name
+        :param default: default variables (if not set an error is raised for a missing variable)
         :return: value of the variable
         """
         variables = self.all_variables
-        if name in variables:
+        if name in variables and variables[name] is not None:
             return variables[name]
-        raise MissingVariable('Variable {} not found in sub-tree or parents'.format(name))
+        if default is None:
+            raise MissingVariable('Variable {} not found in sub-tree or parents'.format(name))
+        return default
 
     def _get_template_tree(self, short_name: str) -> Tuple["FileTree", str]:
         """
-- 
GitLab