Issue #23681: Fixed Python 2 to 3 poring bugs.
Indexing bytes retiurns an integer, not bytes.
This commit is contained in:
parent
d83b7c2df4
commit
74a49ac3f5
|
@ -136,7 +136,7 @@ class POP3:
|
|||
# so only possibilities are ...LF, ...CRLF, CR...LF
|
||||
if line[-2:] == CRLF:
|
||||
return line[:-2], octets
|
||||
if line[0] == CR:
|
||||
if line[:1] == CR:
|
||||
return line[1:-1], octets
|
||||
return line[:-1], octets
|
||||
|
||||
|
|
|
@ -145,7 +145,7 @@ def decode(input, output, header=False):
|
|||
new = new + c; i = i+1
|
||||
elif i+1 == n and not partial:
|
||||
partial = 1; break
|
||||
elif i+1 < n and line[i+1] == ESCAPE:
|
||||
elif i+1 < n and line[i+1:i+2] == ESCAPE:
|
||||
new = new + ESCAPE; i = i+2
|
||||
elif i+2 < n and ishex(line[i+1:i+2]) and ishex(line[i+2:i+3]):
|
||||
new = new + bytes((unhex(line[i+1:i+3]),)); i = i+3
|
||||
|
|
|
@ -210,12 +210,9 @@ class Au_read:
|
|||
self._framesize = self._framesize * self._nchannels
|
||||
if self._hdr_size > 24:
|
||||
self._info = file.read(self._hdr_size - 24)
|
||||
for i in range(len(self._info)):
|
||||
if self._info[i] == b'\0':
|
||||
self._info = self._info[:i]
|
||||
break
|
||||
self._info, _, _ = self._info.partition(b'\0')
|
||||
else:
|
||||
self._info = ''
|
||||
self._info = b''
|
||||
try:
|
||||
self._data_pos = file.tell()
|
||||
except (AttributeError, OSError):
|
||||
|
|
|
@ -149,15 +149,15 @@ def randrange_fmt(mode, char, obj):
|
|||
format character."""
|
||||
x = randrange(*fmtdict[mode][char])
|
||||
if char == 'c':
|
||||
x = bytes(chr(x), 'latin1')
|
||||
x = bytes([x])
|
||||
if obj == 'numpy' and x == b'\x00':
|
||||
# http://projects.scipy.org/numpy/ticket/1925
|
||||
x = b'\x01'
|
||||
if char == '?':
|
||||
x = bool(x)
|
||||
if char == 'f' or char == 'd':
|
||||
x = struct.pack(char, x)
|
||||
x = struct.unpack(char, x)[0]
|
||||
if obj == 'numpy' and x == b'\x00':
|
||||
# http://projects.scipy.org/numpy/ticket/1925
|
||||
x = b'\x01'
|
||||
return x
|
||||
|
||||
def gen_item(fmt, obj):
|
||||
|
|
|
@ -1066,7 +1066,7 @@ class TestTokenize(TestCase):
|
|||
encoding = object()
|
||||
encoding_used = None
|
||||
def mock_detect_encoding(readline):
|
||||
return encoding, ['first', 'second']
|
||||
return encoding, [b'first', b'second']
|
||||
|
||||
def mock__tokenize(readline, encoding):
|
||||
nonlocal encoding_used
|
||||
|
@ -1085,7 +1085,7 @@ class TestTokenize(TestCase):
|
|||
counter += 1
|
||||
if counter == 5:
|
||||
return b''
|
||||
return counter
|
||||
return str(counter).encode()
|
||||
|
||||
orig_detect_encoding = tokenize_module.detect_encoding
|
||||
orig__tokenize = tokenize_module._tokenize
|
||||
|
@ -1093,7 +1093,8 @@ class TestTokenize(TestCase):
|
|||
tokenize_module._tokenize = mock__tokenize
|
||||
try:
|
||||
results = tokenize(mock_readline)
|
||||
self.assertEqual(list(results), ['first', 'second', 1, 2, 3, 4])
|
||||
self.assertEqual(list(results),
|
||||
[b'first', b'second', b'1', b'2', b'3', b'4'])
|
||||
finally:
|
||||
tokenize_module.detect_encoding = orig_detect_encoding
|
||||
tokenize_module._tokenize = orig__tokenize
|
||||
|
|
Loading…
Reference in New Issue