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