Open ended variants (#4746)
* Change directives to allow open-ended variants more easily * make None default to open-ended
This commit is contained in:
parent
1215c3b20c
commit
d2a63d55fa
@ -372,7 +372,7 @@ def variant(
|
|||||||
name,
|
name,
|
||||||
default=None,
|
default=None,
|
||||||
description='',
|
description='',
|
||||||
values=(True, False),
|
values=None,
|
||||||
multi=False,
|
multi=False,
|
||||||
validator=None
|
validator=None
|
||||||
):
|
):
|
||||||
@ -394,6 +394,12 @@ def variant(
|
|||||||
logic. It receives a tuple of values and should raise an instance
|
logic. It receives a tuple of values and should raise an instance
|
||||||
of SpackError if the group doesn't meet the additional constraints
|
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:
|
if default is None:
|
||||||
default = False if values == (True, False) else ''
|
default = False if values == (True, False) else ''
|
||||||
|
Loading…
Reference in New Issue
Block a user