Rip out all codecs that can't work in a unicode/bytes world:
base64, uu, zlib, rot_13, hex, quopri, bz2, string_escape.
However codecs.escape_encode() and codecs.escape_decode()
still exist, as they are used for pickling str8 objects
(so those two functions can go, when the str8 type is removed).
diff --git a/Lib/pickletools.py b/Lib/pickletools.py
index 000fc6b..23c186a 100644
--- a/Lib/pickletools.py
+++ b/Lib/pickletools.py
@@ -10,6 +10,8 @@
Print a symbolic disassembly of a pickle.
'''
+import codecs
+
__all__ = ['dis',
'genops',
]
@@ -318,10 +320,8 @@
else:
raise ValueError("no string quotes around %r" % data)
- # I'm not sure when 'string_escape' was added to the std codecs; it's
- # crazy not to use it if it's there.
if decode:
- data = data.decode('string_escape')
+ data = codecs.escape_decode(data)[0]
return data
stringnl = ArgumentDescriptor(