Open ended variants (#4746)

* Change directives to allow open-ended variants more easily

* make None default to open-ended
This commit is contained in:
becker33 2017-07-18 10:03:15 -07:00 committed by GitHub
parent 1215c3b20c
commit d2a63d55fa

View File

@ -372,7 +372,7 @@ def variant(
name,
default=None,
description='',
values=(True, False),
values=None,
multi=False,
validator=None
):
@ -394,6 +394,12 @@ def variant(
logic. It receives a tuple of values and should raise an instance
of SpackError if the group doesn't meet the additional constraints
"""
if values is None:
if default in (True, False) or (type(default) is str and
default.upper() in ('TRUE', 'FALSE')):
values = (True, False)
else:
values = lambda x: True
if default is None:
default = False if values == (True, False) else ''