Ejemplo n.º 1
0
	def serialize( self, as_type = str ):
		result = {}
		for path, obj in self.iteritems():
			result[path] = _marshal( obj, type(obj) )
		if as_type == type(result): return result
		result = json.dumps( result, ensure_ascii=False )
		if as_type == type(result): return result
		return as_type( result.encode( 'utf8' ) )
Ejemplo n.º 2
0
 def serialize(self, as_type=str):
     result = {}
     for path, obj in self.iteritems():
         result[path] = _marshal(obj, type(obj))
     if as_type == type(result): return result
     result = json.dumps(result, ensure_ascii=False)
     if as_type == type(result): return result
     return as_type(result.encode('utf8'))
Ejemplo n.º 3
0
					item = Object( a=int )
		
	p = Packet(Root)
	
	p.deserialize( '''
		{
			"all/2/some/2": { "a": 12345 },
			"all/@1/some/3": { "a": 54321 },
			"all/2/some": {
				"1": { "a": 98765 }
			}
		}
	''')
	
	for k,v in p[Root.all.item].iteritems():
		print k, v._key_, v._url_(), _marshal( v, type(v) )

	for k,v in p[Root.all.item.some.item].iteritems():
		print k, v._key_, v._url_(), _marshal( v, type(v) )
		
	p['all/3'] = Root.all.item()
	
	p[Root.all.item.some.item][(3,)] = { '2': Root.all.item.some.item( a=56789 ) }
		
	p['all/@1'] = Root.all.item()
	p[Root.all.item][1] = p['all/@1']

	print p.serialize()

	
	
Ejemplo n.º 4
0
            class item(Node):
                class some(Container):
                    item = Object(a=int)

    p = Packet(Root)

    p.deserialize('''
		{
			"all/2/some/2": { "a": 12345 },
			"all/@1/some/3": { "a": 54321 },
			"all/2/some": {
				"1": { "a": 98765 }
			}
		}
	''')

    for k, v in p[Root.all.item].iteritems():
        print k, v._key_, v._url_(), _marshal(v, type(v))

    for k, v in p[Root.all.item.some.item].iteritems():
        print k, v._key_, v._url_(), _marshal(v, type(v))

    p['all/3'] = Root.all.item()

    p[Root.all.item.some.item][(3, )] = {'2': Root.all.item.some.item(a=56789)}

    p['all/@1'] = Root.all.item()
    p[Root.all.item][1] = p['all/@1']

    print p.serialize()