

def prepare_value(self, key, value):
    if isinstance(value, bool):
        type_prefix = 'b'
    elif isinstance(value, six.integer_types):
        type_prefix = 'i'
    elif isinstance(value, six.string_types):
        type_prefix = 's'
    elif isinstance(value, float):
        type_prefix = 'f'
    elif isinstance(value, dict):
        type_prefix = 'o'
        value = self.prepare_object(value)
    elif isinstance(value, list):
        type_prefix = 'l'
    elif isinstance(value, (datetime, date)):
        type_prefix = 'd'
    elif isinstance(value, uuid.UUID):
        type_prefix = 'u'
        value = value.hex
    else:
        raise TypeError(('cannot index values of type %s' % type(value)))
    return (('%s_%s' % (type_prefix, key)), value)

dataset/ETHPy150Open deliveryhero/lymph/lymph/utils/event_indexing.py EventIndex.prepare_value/original