Association¶
- class jwst.associations.Association(version_id=None)[source]¶
Bases:
MutableMapping
Association Base Class
- Parameters
version_id (str or None) – Version ID to use in the name of this association. If None, nothing is added.
- Raises
AssociationError – If an item doesn’t match.
- data¶
The association. The format of this data structure is determined by the individual associations and, if defined, validated against their specified schema.
- Type
Attributes Summary
Default do not evaluate input values
Default whether to force constraints to use unique values.
Default require that the constraint exists or otherwise can be explicitly checked.
Global constraints
Attribute values that indicate the attribute is not specified.
Suggest filename for the association
Name of the rule
The association IO registry
Check if association is valid
Registry this rule has been placed in.
Methods Summary
add
(item[, check_constraints])Add the item to the association
Check whether the given dictionaries match parameters for for this association
create
(item[, version_id])Create association if item belongs
dump
([format])Serialize the association
finalize
()Finalize association
is_item_member
(item)Check if item is already a member of this association
items
()keys
()load
(serialized[, format, validate])Marshall a previously serialized association
match_constraint
(item, constraint, conditions)Generic constraint checking
validate
(asn)Validate an association against this rule
values
()Attributes Documentation
- DEFAULT_EVALUATE = False¶
Default do not evaluate input values
- DEFAULT_FORCE_UNIQUE = False¶
Default whether to force constraints to use unique values.
- DEFAULT_REQUIRE_CONSTRAINT = True¶
Default require that the constraint exists or otherwise can be explicitly checked.
- GLOBAL_CONSTRAINT = None¶
Global constraints
- INVALID_VALUES = None¶
Attribute values that indicate the attribute is not specified.
- asn_name¶
Suggest filename for the association
- asn_rule¶
Name of the rule
- ioregistry = {'json': <class 'jwst.associations.association_io.json'>, 'yaml': <class 'jwst.associations.association_io.yaml'>}¶
The association IO registry
- is_valid¶
Check if association is valid
- registry = None¶
Registry this rule has been placed in.
Methods Documentation
- check_and_set_constraints(item)[source]¶
Check whether the given dictionaries match parameters for for this association
- Parameters
item (dict) – The parameters to check/set for this association. This can be a list of dictionaries.
- Returns
- 2-tuple consisting of:
bool : Did constraint match?
[ProcessItem[, …]]: List of items to process again.
- Return type
(match, reprocess)
- classmethod create(item, version_id=None)[source]¶
Create association if item belongs
- Parameters
- Returns
- 2-tuple consisting of:
association or None: The association or, if the item does not match this rule, None
[ProcessList[, …]]: List of items to process again.
- Return type
(association, reprocess_list)
- dump(format='json', **kwargs)[source]¶
Serialize the association
- Parameters
- Returns
Tuple where the first item is the suggested base name for the file. Second item is the serialization.
- Return type
(name, serialized)
- Raises
AssociationError – If the operation cannot be done
AssociationNotValidError – If the given association does not validate.
- finalize()[source]¶
Finalize association
Finalize or close-off this association. Perform validations, modifications, etc. to ensure that the association is complete.
- Returns
associations – List of fully-qualified associations that this association represents.
None
if a complete association cannot be produced.- Return type
[association[, …]] or None
- classmethod load(serialized, format=None, validate=True, **kwargs)[source]¶
Marshall a previously serialized association
- Parameters
- Returns
association – The association.
- Return type
- Raises
AssociationNotValidError – Cannot create or validate the association.
Notes
The
serialized
object can be in any format supported by the registered I/O routines. For example, forjson
andyaml
formats, the input can be either a string or a file object containing the string.
- match_constraint(item, constraint, conditions)[source]¶
Generic constraint checking
- Parameters
- Returns
- 2-tuple consisting of:
bool : True if the all constraints are satisfied
[ProcessList[, …]]: List of items to process again.
- Return type
(matches, reprocess_list)
- classmethod validate(asn)[source]¶
Validate an association against this rule
- Parameters
asn (Association or association-like) – The association structure to examine
- Returns
valid – True if valid. Otherwise the
AssociationNotValidError
is raised- Return type
- Raises
AssociationNotValidError – If there is some reason validation failed.
Notes
The base method checks against the rule class’ schema If the rule class does not define a schema, a warning is issued but the routine will return True.