bzr branch
http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
|
0.12.3
by Aaron Bentley
Add pack serialization |
1 |
from bzrlib import pack |
|
0.12.1
by Aaron Bentley
Initial bencode-based encoding |
2 |
from bzrlib.util import bencode |
3 |
||
4 |
||
5 |
def serialize(tt): |
|
6 |
new_name = dict((k, v.encode('utf-8')) for k, v in tt._new_name.items()) |
|
7 |
attribs = { |
|
8 |
'_id_number': tt._id_number, |
|
9 |
'_new_name': new_name, |
|
|
0.12.2
by Aaron Bentley
Handle parents |
10 |
'_new_parent': tt._new_parent, |
|
0.12.1
by Aaron Bentley
Initial bencode-based encoding |
11 |
'_new_id': tt._new_id, |
12 |
}
|
|
|
0.12.3
by Aaron Bentley
Add pack serialization |
13 |
serializer = pack.ContainerSerialiser() |
14 |
yield serializer.begin() |
|
15 |
yield serializer.bytes_record(bencode.bencode(attribs), (('attribs',),)) |
|
16 |
yield serializer.end() |
|
17 |
||
|
0.12.1
by Aaron Bentley
Initial bencode-based encoding |
18 |
|
19 |
def deserialize(tt, input): |
|
|
0.12.3
by Aaron Bentley
Add pack serialization |
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) |
|
|
0.12.1
by Aaron Bentley
Initial bencode-based encoding |
26 |
tt._id_number = attribs['_id_number'] |
27 |
tt._new_name = dict((k, v.decode('utf-8')) |
|
28 |
for k, v in attribs['_new_name'].items()) |
|
|
0.12.2
by Aaron Bentley
Handle parents |
29 |
tt._new_parent = attribs['_new_parent'] |
|
0.12.1
by Aaron Bentley
Initial bencode-based encoding |
30 |
tt._new_id = attribs['_new_id'] |
31 |
tt._r_new_id = dict((v, k) for k, v in tt._new_id.items()) |