AttrConstraint¶

class jwst.associations.lib.constraint.AttrConstraint(init=None, sources=None, evaluate=False, force_reprocess=False, force_undefined=False, force_unique=True, invalid_values=None, only_on_match=False, onlyif=None, required=True, **kwargs)[source]

Bases: jwst.associations.lib.constraint.SimpleConstraintABC

Test attribute of an item

Parameters
• sources ([str[,..]]) – List of attributes to query

• value (str, function or None) – The value to check for. If None and force_unique, any value in the first available source will become the value. If function, the function takes no arguments and returns a string.

• evaluate (bool) – Evaluate the item’s value before checking condition.

• force_reprocess (ProcessList.state or False) – Add item back onto the reprocess list using the specified ProcessList work over state.

• force_unique (bool) – If the initial value of value is None, value will be set to the first source. Otherwise, this will be left as None.

• invalid_values ([str[,..]]) – List of values that are invalid in an item. Will cause a non-match.

• name (str or None) – Name of the constraint.

• only_on_match (bool) – If force_reprocess, only do the reprocess if the entire constraint is satisfied.

• onlyif (function) – Boolean function that takes item as argument. If True, the rest of the condition is checked. Otherwise return as a matched condition

• required (bool) – One of the sources must exist. Otherwise, return as a matched constraint.

found_values: set(str[,…])

Set of actual found values for this condition.

matched: bool

Last result of check_and_set

Methods Summary

 check_and_set(item) Check and set constraints based on item

Methods Documentation

check_and_set(item)[source]

Check and set constraints based on item

Parameters

item (dict) – The item to check on.

Returns

success, reprocess

Returns 2-tuple of

• True if check is successful.

• List of ProcessList.

Return type

bool, [ProcessList[,..]]