betty.requirement module

Provide an API that lets code express arbitrary requirements.

class betty.requirement.AllRequirements(*requirements)[source]

Bases: RequirementCollection

Parameters:
*requirements

is_met()[source]
Return type:

bool

summary()[source]
Return type:

betty.locale.Str

class betty.requirement.AnyRequirement(*requirements)[source]

Bases: RequirementCollection

Parameters:
*requirements

is_met()[source]
Return type:

bool

summary()[source]
Return type:

betty.locale.Str

class betty.requirement.Requirement[source]

Bases: Localizable

assert_met()[source]
Return type:

None

details()[source]
Return type:

betty.locale.Str | None

is_met()[source]
Return type:

bool

localize(localizer)[source]
Parameters:
localizer

Return type:

str

reduce()[source]

Remove unnecessary components of this requirement. :rtype: betty.requirement.Requirement | None

  • Collections can flatten unnecessary hierarchies.

  • Empty decorators or collections can ‘dissolve’ themselves and return None.

This function MUST NOT modify self.

summary()[source]
Return type:

betty.locale.Str

class betty.requirement.RequirementCollection(*requirements)[source]

Bases: Requirement

Parameters:
*requirements

localize(localizer)[source]
Parameters:
localizer

Return type:

str

reduce()[source]

Remove unnecessary components of this requirement. :rtype: betty.requirement.Requirement | None

  • Collections can flatten unnecessary hierarchies.

  • Empty decorators or collections can ‘dissolve’ themselves and return None.

This function MUST NOT modify self.

exception betty.requirement.RequirementError(requirement)[source]

Bases: UserFacingError, RuntimeError

Parameters:
requirement

requirement()[source]
Return type:

betty.requirement.Requirement