carpet_concentrations.attrs_utils
Tools for helping with attrs
, particularly validators
add_attrs_context
- add_attrs_context(original)[source]
Decorate function with a
try...except
to add theattrs
contextThis means that the information about what attribute was being set and what value it was passed is also shown to the user
- Parameters
original – Function to decorate
- Returns
Decorated function
Notes
Only works with Python 3.11 and above. For other Python versions, the raw error is simply shown instead
make_attrs_validator_compatible_single_input
- make_attrs_validator_compatible_single_input(func_to_wrap)[source]
Create a function that is compatible with validation via
attrs.field()
This assumes that the function you’re wrapping only takes a single input.
- Parameters
func_to_wrap – Function to wrap
- Returns
Wrapped function, which can be used as a validator with
attrs.field()
make_attrs_validator_compatible_value_instance_input
- make_attrs_validator_compatible_value_instance_input(func_to_wrap)[source]
Create a function that is compatible with validation via
attrs.field()
This assumes that the function you’re wrapping takes the instance and the values as inputs.
- Parameters
func_to_wrap – Function to wrap
- Returns
Wrapped function, which can be used as a validator with
attrs.field()