betty.requirement module¶
Provide an API that lets code express arbitrary requirements.
- class betty.requirement.AllRequirements[source]¶
Bases:
RequirementCollectionA requirement that is met if all of the given requirements are met.
- __init__(*requirements: Requirement | None)[source]¶
- summary() Localizable[source]¶
Get the requirement’s human-readable summary.
- final class betty.requirement.AnyRequirement[source]¶
Bases:
RequirementCollectionA requirement that is met if any of the given requirements are met.
- __init__(*requirements: Requirement | None)[source]¶
- summary() Localizable[source]¶
Get the requirement’s human-readable summary.
- class betty.requirement.Requirement[source]¶
Bases:
LocalizableExpress a requirement.
- details() Localizable | None[source]¶
Get the requirement’s human-readable additional details.
- localize(localizer: Localizer) LocalizedStr[source]¶
Localize
selfto a human-readable string.
- reduce() Requirement | None[source]¶
Remove unnecessary components of this requirement.
Collections can flatten unnecessary hierarchies.
Empty decorators or collections can ‘dissolve’ themselves and return None.
This function MUST NOT modify self.
- abstractmethod summary() Localizable[source]¶
Get the requirement’s human-readable summary.
- class betty.requirement.RequirementCollection[source]¶
Bases:
RequirementProvide a collection of zero or more requirements.
- __init__(*requirements: Requirement | None)[source]¶
- localize(localizer: Localizer) LocalizedStr[source]¶
Localize
selfto a human-readable string.
- reduce() Requirement | None[source]¶
Remove unnecessary components of this requirement.
Collections can flatten unnecessary hierarchies.
Empty decorators or collections can ‘dissolve’ themselves and return None.
This function MUST NOT modify self.
- final exception betty.requirement.RequirementError[source]¶
Bases:
UserFacingError,RuntimeErrorRaised when a requirement is not met.
- __init__(requirement: Requirement)[source]¶
- requirement() Requirement[source]¶
Get the requirement this error is for.