cloup.constraints._conditional
¶
This modules contains classes for creating conditional constraints.
Classes¶
|
Checks one constraint or another depending on the truth value of the condition. |
Functions¶
|
Contents¶
-
cloup.constraints._conditional.
as_predicate
(arg)[source]¶ - Parameters
arg (Union[str, Sequence[str], cloup.constraints.conditions.Predicate]) –
- Return type
-
class
cloup.constraints._conditional.
If
(condition, then, else_=None)[source]¶ Bases:
cloup.constraints._core.Constraint
Checks one constraint or another depending on the truth value of the condition.
New in version 0.8.0: you can now pass a sequence of parameter names as condition, which corresponds to the predicate
AllSet(*param_names)
.- Parameters
condition (Union[str, Sequence[str], cloup.constraints.conditions.Predicate]) – can be either an instance of
Predicate
or (more often) the name of a parameter or a list/tuple of parameters that must be all set for the condition to be true.then (cloup.constraints._core.Constraint) – a constraint checked if the condition is true.
else – an (optional) constraint checked if the condition is false.
else_ (Optional[cloup.constraints._core.Constraint]) –
-
help
(self, ctx)[source]¶ A description of the constraint.
- Parameters
ctx (click.Context) –
- Return type
-
check_consistency
(self, params)[source]¶ Perform some sanity checks that detect inconsistencies between these constraints and the properties of the input parameters (e.g. required).
For example, a constraint that requires the parameters to be mutually exclusive is not consistent with a group of parameters with multiple required options.
These sanity checks are meant to catch developer’s mistakes and don’t depend on the values assigned to the parameters; therefore:
they can be performed before any parameter parsing
they can be disabled in production (setting
check_constraints_consistency=False
incontext_settings
)
- Parameters
params (Sequence[click.Parameter]) – list of
click.Parameter
instances- Raises
UnsatisfiableConstraint
if the constraint cannot be satisfied independently from the values provided by the user- Return type
-
check_values
(self, params, ctx)[source]¶ Check that the constraint is satisfied by the input parameters in the given context, which (among other things) contains the values assigned to the parameters in
ctx.params
.You probably don’t want to call this method directly. Use
check()
instead.- Parameters
params (Sequence[click.Parameter]) – list of
click.Parameter
instancesctx (click.Context) –
click.Context
- Raises
- Return type