Changes in anticipation of stricter str vs. bytes enforcement.
diff --git a/Lib/pickle.py b/Lib/pickle.py
index 6901a64..9127f14 100644
--- a/Lib/pickle.py
+++ b/Lib/pickle.py
@@ -248,7 +248,7 @@
else:
return LONG_BINPUT + pack("<i", i)
- return PUT + bytes(repr(i)) + b'\n'
+ return PUT + repr(i).encode("ascii") + b'\n'
# Return a GET (BINGET, LONG_BINGET) opcode string, with argument i.
def get(self, i, pack=struct.pack):
@@ -258,7 +258,7 @@
else:
return LONG_BINGET + pack("<i", i)
- return GET + bytes(repr(i)) + b'\n'
+ return GET + repr(i).encode("ascii") + b'\n'
def save(self, obj):
# Check for persistent id (defined by a subclass)
@@ -334,7 +334,7 @@
self.save(pid)
self.write(BINPERSID)
else:
- self.write(PERSID + bytes(str(pid)) + b'\n')
+ self.write(PERSID + str(pid).encode("ascii") + b'\n')
def save_reduce(self, func, args, state=None,
listitems=None, dictitems=None, obj=None):
@@ -449,7 +449,7 @@
self.write(BININT + pack("<i", obj))
return
# Text pickle, or int too big to fit in signed 4-byte format.
- self.write(INT + bytes(repr(obj)) + b'\n')
+ self.write(INT + repr(obj).encode("ascii") + b'\n')
# XXX save_int is merged into save_long
# dispatch[int] = save_int
@@ -481,14 +481,14 @@
else:
self.write(LONG4 + pack("<i", n) + encoded)
return
- self.write(LONG + bytes(repr(obj)) + b'\n')
+ self.write(LONG + repr(obj).encode("ascii") + b'\n')
dispatch[int] = save_long
def save_float(self, obj, pack=struct.pack):
if self.bin:
self.write(BINFLOAT + pack('>d', obj))
else:
- self.write(FLOAT + bytes(repr(obj)) + b'\n')
+ self.write(FLOAT + repr(obj).encode("ascii") + b'\n')
dispatch[float] = save_float
def save_string(self, obj, pack=struct.pack):
@@ -500,7 +500,7 @@
self.write(BINSTRING + pack("<i", n) + bytes(obj))
else:
# Strip leading 's' due to repr() of str8() returning s'...'
- self.write(STRING + bytes(repr(obj).lstrip("s")) + b'\n')
+ self.write(STRING + repr(obj).lstrip("s").encode("ascii") + b'\n')
self.memoize(obj)
dispatch[str8] = save_string
@@ -710,7 +710,8 @@
write(EXT4 + pack("<i", code))
return
- write(GLOBAL + bytes(module) + b'\n' + bytes(name) + b'\n')
+ write(GLOBAL + bytes(module, "utf-8") + b'\n' +
+ bytes(name, "utf-8") + b'\n')
self.memoize(obj)
dispatch[FunctionType] = save_global