/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to serialize_transform.py

  • Committer: Aaron Bentley
  • Date: 2008-10-05 00:49:15 UTC
  • mto: (0.15.1 unshelve)
  • mto: This revision was merged to the branch mainline in revision 3820.
  • Revision ID: aaron@aaronbentley.com-20081005004915-po74nfeweenqmjfd
Add pack serialization

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from bzrlib import pack
1
2
from bzrlib.util import bencode
2
3
 
3
4
 
9
10
        '_new_parent': tt._new_parent,
10
11
        '_new_id': tt._new_id,
11
12
        }
12
 
    return bencode.bencode(attribs)
 
13
    serializer = pack.ContainerSerialiser()
 
14
    yield serializer.begin()
 
15
    yield serializer.bytes_record(bencode.bencode(attribs), (('attribs',),))
 
16
    yield serializer.end()
 
17
 
13
18
 
14
19
def deserialize(tt, input):
15
 
    attribs = bencode.bdecode(input)
 
20
    parser = pack.ContainerPushParser()
 
21
    for bytes in input:
 
22
        parser.accept_bytes(bytes)
 
23
    iterator = iter(parser.read_pending_records())
 
24
    names, content = iterator.next()
 
25
    attribs = bencode.bdecode(content)
16
26
    tt._id_number = attribs['_id_number']
17
27
    tt._new_name = dict((k, v.decode('utf-8'))
18
28
                        for k, v in attribs['_new_name'].items())