Serializer Class

Request object model serializer.

Inheritance
builtins.object
Serializer

Constructor

Serializer(classes=None)

Parameters

classes
default value: None

Methods

body

Serialize data intended for a request body.

header

Serialize data intended for a request header.

query

Serialize data intended for a URL query.

serialize_base64

Serialize str into base-64 string.

serialize_basic

Serialize basic builting data type. Serializes objects to str, int, float or bool.

Possible kwargs:

  • basic_types_serializers dict[str, callable] : If set, use the callable as serializer
  • is_xml bool : If set, use xml_basic_types_serializers
serialize_bytearray

Serialize bytearray into base-64 string.

serialize_data

Serialize generic data according to supplied data type.

serialize_date

Serialize Date object into ISO-8601 formatted string.

serialize_decimal

Serialize Decimal object to float.

serialize_dict

Serialize a dictionary of objects.

serialize_duration

Serialize TimeDelta object into ISO-8601 formatted string.

serialize_enum
serialize_iso

Serialize Datetime object into ISO-8601 formatted string.

serialize_iter

Serialize iterable.

Supported kwargs:

  • serialization_ctxt dict : The current entry of _attribute_map, or same format.

    serialization_ctxt['type'] should be same as data_type.

  • is_xml bool : If set, serialize as XML
serialize_long

Serialize long (Py2) or int (Py3).

serialize_object

Serialize a generic object. This will be handled as a dictionary. If object passed in is not a basic type (str, int, float, dict, list) it will simply be cast to str.

serialize_rfc

Serialize Datetime object into RFC-1123 formatted string.

serialize_time

Serialize Time object into ISO-8601 formatted string.

serialize_unicode

Special handling for serializing unicode strings in Py2. Encode to UTF-8 if unicode, otherwise handle as a str.

serialize_unix

Serialize Datetime object into IntTime format. This is represented as seconds.

url

Serialize data intended for a URL path.

validate

Validate that a piece of data meets certain conditions

body

Serialize data intended for a request body.

body(data, data_type, **kwargs)

Parameters

data
Required

The data to be serialized.

data_type
str
Required

The type to be serialized from.

Return type

Exceptions

SerializationError if serialization fails.
ValueError if data is None

header

Serialize data intended for a request header.

header(name, data, data_type, **kwargs)

Parameters

data
Required

The data to be serialized.

data_type
str
Required

The type to be serialized from.

data_type
Required

Return type

str

Exceptions

TypeError if serialization fails.
ValueError if data is None

query

Serialize data intended for a URL query.

query(name, data, data_type, **kwargs)

Parameters

data
Required

The data to be serialized.

data_type
str
Required

The type to be serialized from.

data_type
Required

Return type

str

Exceptions

TypeError if serialization fails.
ValueError if data is None

serialize_base64

Serialize str into base-64 string.

static serialize_base64(attr, **kwargs)

Parameters

attr
Required

Object to be serialized.

Return type

str

Exceptions

SerializationError if serialization fails.
ValueError if data is None

serialize_basic

Serialize basic builting data type. Serializes objects to str, int, float or bool.

Possible kwargs:

  • basic_types_serializers dict[str, callable] : If set, use the callable as serializer
  • is_xml bool : If set, use xml_basic_types_serializers
serialize_basic(data, data_type, **kwargs)

Parameters

data
Required

Object to be serialized.

data_type
str
Required

Type of object in the iterable.

data_type
Required

Exceptions

SerializationError if serialization fails.
ValueError if data is None

serialize_bytearray

Serialize bytearray into base-64 string.

static serialize_bytearray(attr, **kwargs)

Parameters

attr
Required

Object to be serialized.

Return type

str

Exceptions

SerializationError if serialization fails.
ValueError if data is None

serialize_data

Serialize generic data according to supplied data type.

serialize_data(data, data_type, **kwargs)

Parameters

data
Required

The data to be serialized.

data_type
str
Required

The type to be serialized from.

required
bool
Required

Whether it's essential that the data not be empty or None

Exceptions

AttributeError if required data is None.
ValueError if data is None
SerializationError if serialization fails.

serialize_date

Serialize Date object into ISO-8601 formatted string.

static serialize_date(attr, **kwargs)

Parameters

attr
<xref:Date>
Required

Object to be serialized.

Return type

str

Exceptions

SerializationError if serialization fails.
ValueError if data is None

serialize_decimal

Serialize Decimal object to float.

static serialize_decimal(attr, **kwargs)

Parameters

attr
Required

Object to be serialized.

Return type

Exceptions

SerializationError if serialization fails.
ValueError if data is None

serialize_dict

Serialize a dictionary of objects.

serialize_dict(attr, dict_type, **kwargs)

Parameters

attr
dict
Required

Object to be serialized.

dict_type
str
Required

Type of object in the dictionary.

required
bool
Required

Whether the objects in the dictionary must not be None or empty.

Return type

Exceptions

SerializationError if serialization fails.
ValueError if data is None

serialize_duration

Serialize TimeDelta object into ISO-8601 formatted string.

static serialize_duration(attr, **kwargs)

Parameters

attr
<xref:TimeDelta>
Required

Object to be serialized.

Return type

str

Exceptions

SerializationError if serialization fails.
ValueError if data is None

serialize_enum

static serialize_enum(attr, enum_obj=None)

Parameters

attr
Required
enum_obj
default value: None

Exceptions

SerializationError if serialization fails.
ValueError if data is None

serialize_iso

Serialize Datetime object into ISO-8601 formatted string.

static serialize_iso(attr, **kwargs)

Parameters

attr
<xref:Datetime>
Required

Object to be serialized.

Return type

str

Exceptions

SerializationError if format invalid.

serialize_iter

Serialize iterable.

Supported kwargs:

  • serialization_ctxt dict : The current entry of _attribute_map, or same format.

    serialization_ctxt['type'] should be same as data_type.

  • is_xml bool : If set, serialize as XML
serialize_iter(data, iter_type, div=None, **kwargs)

Parameters

attr
list
Required

Object to be serialized.

iter_type
str
Required

Type of object in the iterable.

required
bool
default value: None

Whether the objects in the iterable must not be None or empty.

div
str
Required

If set, this str will be used to combine the elements in the iterable into a combined string. Default is 'None'.

Return type

Exceptions

SerializationError if serialization fails.
ValueError if data is None

serialize_long

Serialize long (Py2) or int (Py3).

static serialize_long(attr, **kwargs)

Parameters

attr
Required

Object to be serialized.

Return type

<xref:<xref:int/long>>

Exceptions

SerializationError if serialization fails.
ValueError if data is None

serialize_object

Serialize a generic object. This will be handled as a dictionary. If object passed in is not a basic type (str, int, float, dict, list) it will simply be cast to str.

serialize_object(attr, **kwargs)

Parameters

attr
dict
Required

Object to be serialized.

Return type

dict,
str

Exceptions

SerializationError if serialization fails.
ValueError if data is None

serialize_rfc

Serialize Datetime object into RFC-1123 formatted string.

static serialize_rfc(attr, **kwargs)

Parameters

attr
<xref:Datetime>
Required

Object to be serialized.

Return type

str

Exceptions

TypeError if format invalid.

serialize_time

Serialize Time object into ISO-8601 formatted string.

static serialize_time(attr, **kwargs)

Parameters

attr
time
Required

Object to be serialized.

Return type

str

Exceptions

SerializationError if serialization fails.
ValueError if data is None

serialize_unicode

Special handling for serializing unicode strings in Py2. Encode to UTF-8 if unicode, otherwise handle as a str.

serialize_unicode(data)

Parameters

data
Required

Object to be serialized.

data
Required

Return type

str

Exceptions

SerializationError if serialization fails.
ValueError if data is None

serialize_unix

Serialize Datetime object into IntTime format. This is represented as seconds.

static serialize_unix(attr, **kwargs)

Parameters

attr
<xref:Datetime>
Required

Object to be serialized.

Return type

int

Exceptions

SerializationError if format invalid

url

Serialize data intended for a URL path.

url(name, data, data_type, **kwargs)

Parameters

data
Required

The data to be serialized.

data_type
str
Required

The type to be serialized from.

data_type
Required

Return type

str

Exceptions

TypeError if serialization fails.
ValueError if data is None

validate

Validate that a piece of data meets certain conditions

validate(data, name, **kwargs)

Parameters

cls
Required
data
Required
name
Required

Exceptions

SerializationError if serialization fails.
ValueError if data is None

Attributes

basic_types

basic_types = {<class 'str'>: 'str', <class 'int'>: 'int', <class 'bool'>: 'bool', <class 'float'>: 'float'}

days

days = {0: 'Mon', 1: 'Tue', 2: 'Wed', 3: 'Thu', 4: 'Fri', 5: 'Sat', 6: 'Sun'}

months

months = {1: 'Jan', 2: 'Feb', 3: 'Mar', 4: 'Apr', 5: 'May', 6: 'Jun', 7: 'Jul', 8: 'Aug', 9: 'Sep', 10: 'Oct', 11: 'Nov', 12: 'Dec'}

validation

validation = {'max_items': <function Serializer.<lambda>>, 'max_length': <function Serializer.<lambda>>, 'maximum': <function Serializer.<lambda>>, 'maximum_ex': <function Serializer.<lambda>>, 'min_items': <function Serializer.<lambda>>, 'min_length': <function Serializer.<lambda>>, 'minimum': <function Serializer.<lambda>>, 'minimum_ex': <function Serializer.<lambda>>, 'multiple': <function Serializer.<lambda>>, 'pattern': <function Serializer.<lambda>>, 'unique': <function Serializer.<lambda>>}