cloup.constraints._conditional

This modules contains classes for creating conditional constraints.

Classes

If(condition, then[, else_])

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

cloup.constraints.conditions.Predicate

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
help(self, ctx)[source]

A description of the constraint.

Parameters

ctx (click.Context) –

Return type

str

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 in context_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

None

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
Raises

ConstraintViolated

Return type

None

__repr__(self)[source]

Return repr(self).

Return type

str