hpcflow.sdk.core.object_list.ObjectList#
- class hpcflow.sdk.core.object_list.ObjectList(objects, descriptor=None)#
Bases:
JSONLike
A list-like class that provides item access via a get method according to attributes or dict-keys.
- Parameters:
objects (sequence) – List
descriptor (str) – Descriptive name for objects in the list.
Methods
Add an object to this object list.
Make an instance of this class from JSON (or YAML) data.
Get a single object from the object list, by specifying the value of the access attribute, and optionally additional keyword-argument attribute values.
Get one or more objects from the object list, by specifying the value of the access attribute, and optionally additional keyword-argument attribute values.
Get a tuple of the unique access-attribute values of the constituent objects.
Serialize this object as a dictionary.
Serialize this object as an object structure that can be trivially converted to JSON.
- add_object(obj, index=-1, skip_duplicates=False)#
Add an object to this object list.
- Parameters:
obj – The object to add.
index – Where to add it. Omit to append.
skip_duplicates – If true, don’t add the object if it is already in the list.
- Return type:
The index of the added object, or
None
if the object was not added.
- classmethod from_json_like(json_like, shared_data=None)#
Make an instance of this class from JSON (or YAML) data.
- Parameters:
json_like (Union[Dict, List]) – The data to deserialise.
shared_data (Optional[Dict[str, ObjectList]]) – Shared context data.
- Return type:
The deserialised object.
- get(**kwargs)#
Get a single object from the object list, by specifying the value of the access attribute, and optionally additional keyword-argument attribute values.
- get_all(**kwargs)#
Get one or more objects from the object list, by specifying the value of the access attribute, and optionally additional keyword-argument attribute values.
- list_attrs()#
Get a tuple of the unique access-attribute values of the constituent objects.
- to_dict()#
Serialize this object as a dictionary.
- to_json_like(dct=None, shared_data=None, exclude=None, path=None)#
Serialize this object as an object structure that can be trivially converted to JSON. Note that YAML can also be produced from the result of this method; it just requires a different final serialization step.