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_object

Add an object to this object list.

from_json_like

Make an instance of this class from JSON (or YAML) data.

get

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

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

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.