Annotation of MumbleDicebot/utils.py, Revision 1.1.1.1
1.1 rubenllo 1: def parse_varint(data):
2: barray = bytearray(data[:10])
3: byte = barray.pop(0)
4: if byte >> 7 == 0:
5: varint, rem = byte & 127, 0
6: elif byte >> 6 == 2:
7: varint, rem = byte & 63, 1
8: elif byte >> 5 == 6:
9: varint, rem = byte & 31, 2
10: elif byte >> 4 == 14:
11: varint, rem = byte & 15, 3
12: elif byte >> 2 == 60:
13: varint, rem = 0, 4
14: elif byte >> 2 == 61:
15: varint, rem = 0, 8
16: elif byte >> 2 == 62:
17: varint, data = parse_varint(data[1:])
18: return -varint, data
19: elif byte >> 2 == 63:
20: varint, rem = ~byte | 0xFC, 0
21:
22: for i in range(rem):
23: varint <<= 8
24: varint += barray.pop(0)
25:
26: return varint, data[rem+1:]
CVSweb