diff options
author | Benjamin Schubert <contact@benschubert.me> | 2019-10-15 11:51:54 +0100 |
---|---|---|
committer | Benjamin Schubert <contact@benschubert.me> | 2019-10-16 13:52:55 +0100 |
commit | 0cc53801868a0b85c81bb68579153a04cb7a5faf (patch) | |
tree | ef1355c6e0fae77ae60e23a614c95391dded5627 /src/buildstream/_options | |
parent | 1b92d90b5b95241e9c44d02a63713ca2de8a98f4 (diff) | |
download | buildstream-0cc53801868a0b85c81bb68579153a04cb7a5faf.tar.gz |
_options/option.py: Pass the node instead of the str to 'transform'
This is in order to consolidate how we substitute variables.
_project: use 'node_subst_vars' instead of '_subst_list'
as the first one expects a node.
Diffstat (limited to 'src/buildstream/_options')
-rw-r--r-- | src/buildstream/_options/optionbool.py | 2 | ||||
-rw-r--r-- | src/buildstream/_options/optionenum.py | 6 | ||||
-rw-r--r-- | src/buildstream/_options/optionflags.py | 5 |
3 files changed, 8 insertions, 5 deletions
diff --git a/src/buildstream/_options/optionbool.py b/src/buildstream/_options/optionbool.py index af67df601..f91cb257d 100644 --- a/src/buildstream/_options/optionbool.py +++ b/src/buildstream/_options/optionbool.py @@ -37,7 +37,7 @@ class OptionBool(Option): def load_value(self, node, *, transform=None): if transform: - self.set_value(transform(node.get_str(self.name))) + self.set_value(transform(node.get_scalar(self.name))) else: self.value = node.get_bool(self.name) diff --git a/src/buildstream/_options/optionenum.py b/src/buildstream/_options/optionenum.py index be9799acc..4a0941369 100644 --- a/src/buildstream/_options/optionenum.py +++ b/src/buildstream/_options/optionenum.py @@ -56,9 +56,11 @@ class OptionEnum(Option): def load_value(self, node, *, transform=None): value_node = node.get_scalar(self.name) - self.value = value_node.as_str() if transform: - self.value = transform(self.value) + self.value = transform(value_node) + else: + self.value = value_node.as_str() + self.validate(self.value, value_node) def set_value(self, value): diff --git a/src/buildstream/_options/optionflags.py b/src/buildstream/_options/optionflags.py index 0ce995709..e5217a718 100644 --- a/src/buildstream/_options/optionflags.py +++ b/src/buildstream/_options/optionflags.py @@ -58,9 +58,10 @@ class OptionFlags(Option): def load_value(self, node, *, transform=None): value_node = node.get_sequence(self.name) - self.value = value_node.as_str_list() if transform: - self.value = [transform(x) for x in self.value] + self.value = [transform(x) for x in value_node] + else: + self.value = value_node.as_str_list() self.value = sorted(self.value) self.validate(self.value, value_node) |