diff --git a/Lib/encodings/cp65001.py b/Lib/encodings/cp65001.py index 95cb2aecf0cc9e..96aa6f3c95e8ae 100644 --- a/Lib/encodings/cp65001.py +++ b/Lib/encodings/cp65001.py @@ -3,15 +3,14 @@ """ import codecs -import functools if not hasattr(codecs, 'code_page_encode'): raise LookupError("cp65001 encoding is only available on Windows") ### Codec APIs -encode = functools.partial(codecs.code_page_encode, 65001) -_decode = functools.partial(codecs.code_page_decode, 65001) +encode = lambda *args, **kw: codecs.code_page_encode(65001, *args, **kw) +_decode = lambda *args, **kw: codecs.code_page_decode(65001, *args, **kw) def decode(input, errors='strict'): return codecs.code_page_decode(65001, input, errors, True) @@ -21,13 +20,13 @@ def encode(self, input, final=False): return encode(input, self.errors)[0] class IncrementalDecoder(codecs.BufferedIncrementalDecoder): - _buffer_decode = _decode + _buffer_decode = staticmethod(_decode) class StreamWriter(codecs.StreamWriter): - encode = encode + encode = staticmethod(encode) class StreamReader(codecs.StreamReader): - decode = _decode + decode = staticmethod(_decode) ### encodings module API diff --git a/Misc/NEWS.d/next/Library/2019-05-10-00-31-43.bpo-36778.Vgf2Cg.rst b/Misc/NEWS.d/next/Library/2019-05-10-00-31-43.bpo-36778.Vgf2Cg.rst new file mode 100644 index 00000000000000..503d1d47d5a3ce --- /dev/null +++ b/Misc/NEWS.d/next/Library/2019-05-10-00-31-43.bpo-36778.Vgf2Cg.rst @@ -0,0 +1,2 @@ +encodings.cp65001 (code page 65001, CP_UTF8) implementation now avoids +functools.partial() to reduce the number of imports at startup.