Пример #1
0
  def entity_serializer(dumper, entity):
    return dumper.represent_data(entity.to_dict())
  
  log.debug('registering smisk.mvc.model.Entity YAML serializer (W)')
  Dumper.add_multi_representer(Entity, entity_serializer)
  
  # support for serializing data:
  def data_serializer(dumper, dat):
    return dumper.represent_scalar(u'!data', dat.encode())
  
  def data_unserializer(loader, datatype, node):
    return opaque_data.decode(node.value)
  
  log.debug('registering smisk.serialization.data YAML serializer (RW)')
  Dumper.add_multi_representer(opaque_data, data_serializer)
  Loader.add_multi_constructor(u'!data', data_unserializer)


if __name__ == '__main__':
  data = {
    'message': 'Hello worlds',
    'internets': [
      'interesting',
      'lolz',
      42.0,
      {
        'abcdata': opaque_data('xyz detta överförs binärt'),
        'tubes': [1,3,16,18,24],
        'persons': True,
        u'me agåain': {
          'message': 'Hello worlds',