antimatter.handlers.dictionary#

Module Contents#

Classes#

Dictionary

The Dictionary DataHandler supports a single dictionary value with string

class antimatter.handlers.dictionary.Dictionary#

Bases: antimatter.handlers.base.DataHandler

The Dictionary DataHandler supports a single dictionary value with string keys.

from_generic(cols: List[str], generic_data: List[List[bytes]], extra: dict) Dict[str, Any]#

from_generic expects at most one dictionary in the generic data list, and extracts and flattens this dictionary if it can be found

Parameters:
  • cols – the column names; should be the string key values in the dictionary

  • generic_data – the capsule’s generic data format holding the values of the single row

  • extra – extra data for the DataHandler

Returns:

the dictionary value held in the generic data format

to_generic(data: Dict[str, Any]) Tuple[List[str], List[List[bytes]], Dict[str, Any]]#

to_generic converts a single dictionary value into the generic data format, flattening the dictionary into a list and extracting the keys in the key:value pairs as the column names.

Parameters:

data – the dictionary value to wrap into a generic format

Returns:

the data in its generic form

field_converter_from_generic(ft: antimatter.fieldtype.fieldtypes.FieldType) Callable[[bytes], Any]#

field_converter_from_generic gets a field converter function for the given field type that can be used to convert fields from their generic string type to their specific type.

Note that these statement should be true for all implementations, given FieldType ft.

from_gen = field_converter_from_generic(ft) to_gen = field_converter_to_generic(ft)

generic_value == to_gen(from_gen(generic_value)) field_value == from_gen(to_gen(field_value))

Parameters:

ft – the FieldType to get the converter function for

Returns:

a function that can convert field values from generic form

field_converter_to_generic(ft: antimatter.fieldtype.fieldtypes.FieldType) Callable[[Any], bytes]#

field_converter_to_generic gets a field converter function for the given field type that can be used to convert fields from their specific type to their generic type.

Note that these statement should be true for all implementations, given FieldType ft.

from_gen = field_converter_from_generic(ft) to_gen = field_converter_to_generic(ft)

generic_value == to_gen(from_gen(generic_value)) field_value == from_gen(to_gen(field_value))

Parameters:

ft – the FieldType to get the converter function for

Returns:

a function that can convert field values to generic form