smartapp.converter

Converter to serialize and deserialize lifecycle objects to various formats.

Module Contents

smartapp.converter.DATETIME_ZONE = 'UTC'
smartapp.converter.DATETIME_SEC_EPOCH = '1970-01-01T00:00:00Z'
smartapp.converter.DATETIME_SEC_LEN = 20
smartapp.converter.DATETIME_SEC_FORMAT = 'YYYY-MM-DD[T]HH:mm:ss[Z]'
smartapp.converter.DATETIME_MS_EPOCH = '1970-01-01T00:00:00.000Z'
smartapp.converter.DATETIME_MS_LEN = 24
smartapp.converter.DATETIME_MS_FORMAT = 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]'
smartapp.converter.T
smartapp.converter.serialize_datetime(datetime: arrow.Arrow) str

Serialize an Arrow datetime to a string.

smartapp.converter.deserialize_datetime(datetime: str) arrow.Arrow

Deserialize a string into an Arrow datetime.

class smartapp.converter.StandardConverter

Bases: cattrs.GenConverter

Standard cattrs converter supporting both JSON and YAML and using camelCase for fields.

to_json(obj: Any) str

Serialize an object to JSON.

from_json(data: str, cls: type[T]) T

Deserialize an object from JSON.

to_yaml(obj: Any) str

Serialize an object to YAML.

from_yaml(data: str, cls: type[T]) T

Deserialize an object from YAML.

class smartapp.converter.SmartAppConverter

Bases: StandardConverter

Cattrs converter to serialize/deserialize SmartApp-related classes, supporting both JSON and YAML.

smartapp.converter.CONVERTER