equal
deleted
inserted
replaced
49 BSER_NULL = b"\x0a" |
49 BSER_NULL = b"\x0a" |
50 BSER_TEMPLATE = b"\x0b" |
50 BSER_TEMPLATE = b"\x0b" |
51 BSER_SKIP = b"\x0c" |
51 BSER_SKIP = b"\x0c" |
52 BSER_UTF8STRING = b"\x0d" |
52 BSER_UTF8STRING = b"\x0d" |
53 |
53 |
54 if compat.PYTHON3: |
54 STRING_TYPES = (str, bytes) |
55 STRING_TYPES = (str, bytes) |
55 unicode = str |
56 unicode = str |
56 |
57 |
57 |
58 def tobytes(i): |
58 def tobytes(i): |
59 return str(i).encode("ascii") |
59 return str(i).encode("ascii") |
60 |
60 |
61 long = int |
61 |
62 else: |
62 long = int |
63 STRING_TYPES = (unicode, str) |
|
64 tobytes = bytes |
|
65 |
63 |
66 # Leave room for the serialization header, which includes |
64 # Leave room for the serialization header, which includes |
67 # our overall length. To make things simpler, we'll use an |
65 # our overall length. To make things simpler, we'll use an |
68 # int32 for the header |
66 # int32 for the header |
69 EMPTY_HEADER = b"\x00\x01\x05\x00\x00\x00\x00" |
67 EMPTY_HEADER = b"\x00\x01\x05\x00\x00\x00\x00" |
85 |
83 |
86 |
84 |
87 def _buf_pos(buf, pos): |
85 def _buf_pos(buf, pos): |
88 ret = buf[pos] |
86 ret = buf[pos] |
89 # Normalize the return type to bytes |
87 # Normalize the return type to bytes |
90 if compat.PYTHON3 and not isinstance(ret, bytes): |
88 if not isinstance(ret, bytes): |
91 ret = bytes((ret,)) |
89 ret = bytes((ret,)) |
92 return ret |
90 return ret |
93 |
91 |
94 |
92 |
95 class _bser_buffer: |
93 class _bser_buffer: |
248 val_len, |
246 val_len, |
249 ) |
247 ) |
250 else: |
248 else: |
251 raise RuntimeError("Cannot represent this mapping value") |
249 raise RuntimeError("Cannot represent this mapping value") |
252 self.wpos += needed |
250 self.wpos += needed |
253 if compat.PYTHON3: |
251 iteritems = val.items() |
254 iteritems = val.items() |
|
255 else: |
|
256 iteritems = val.iteritems() # noqa: B301 Checked version above |
|
257 for k, v in iteritems: |
252 for k, v in iteritems: |
258 self.append_string(k) |
253 self.append_string(k) |
259 self.append_recursive(v) |
254 self.append_recursive(v) |
260 elif isinstance(val, abc.Iterable) and isinstance(val, abc.Sized): |
255 elif isinstance(val, abc.Iterable) and isinstance(val, abc.Sized): |
261 val_len = len(val) |
256 val_len = len(val) |