diff -r 4a55b98314cd Doc/library/codecs.rst --- a/Doc/library/codecs.rst Mon Jan 12 21:03:41 2015 +0100 +++ b/Doc/library/codecs.rst Tue Jan 13 12:37:56 2015 +0000 @@ -524,18 +524,21 @@ define in order to be compatible with th object. - .. method:: encode(object[, final]) + .. method:: encode([object,] [final=False]) Encodes *object* (taking the current state of the encoder into account) and returns the resulting encoded object. If this is the last call to - :meth:`encode` *final* must be true (the default is false). + :meth:`encode` *final* must be true. The *object* parameter may be + omitted to finalize the encoder without supplying any more data. + + .. versionchanged:: 3.5 + The *object* parameter was previously mandatory. .. method:: reset() Reset the encoder to the initial state. The output is discarded: call - ``.encode(object, final=True)``, passing an empty byte or text string - if necessary, to reset the encoder and to get the output. + ``.encode(final=True)`` to reset the encoder and to get the output. .. method:: IncrementalEncoder.getstate() @@ -581,16 +584,19 @@ define in order to be compatible with th object. - .. method:: decode(object[, final]) + .. method:: decode([object,] [final=False]) Decodes *object* (taking the current state of the decoder into account) and returns the resulting decoded object. If this is the last call to - :meth:`decode` *final* must be true (the default is false). If *final* is - true the decoder must decode the input completely and must flush all + :meth:`decode` *final* must be true and the decoder + must decode the input completely and must flush all buffers. If this isn't possible (e.g. because of incomplete byte sequences at the end of the input) it must initiate error handling just like in the stateless case (which might raise an exception). + .. versionchanged:: 3.5 + The *object* parameter was previously mandatory. + .. method:: reset() diff -r 4a55b98314cd Lib/_pyio.py --- a/Lib/_pyio.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/_pyio.py Tue Jan 13 12:37:56 2015 +0000 @@ -1465,12 +1465,16 @@ class IncrementalNewlineDecoder(codecs.I self.seennl = 0 self.pendingcr = False - def decode(self, input, final=False): + def decode(self, input=None, final=False): # decode input (with the eventual \r from a previous pass) if self.decoder is None: - output = input + output = input or "" else: - output = self.decoder.decode(input, final=final) + if input is None: + input = () + else: + input = (input,) + output = self.decoder.decode(*input, final=final) if self.pendingcr and (output or final): output = "\r" + output self.pendingcr = False diff -r 4a55b98314cd Lib/codecs.py --- a/Lib/codecs.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/codecs.py Tue Jan 13 12:37:56 2015 +0000 @@ -192,7 +192,7 @@ class IncrementalEncoder(object): self.errors = errors self.buffer = "" - def encode(self, input, final=False): + def encode(self, input=None, final=False): """ Encodes input and returns the resulting object. """ @@ -231,7 +231,7 @@ class BufferedIncrementalEncoder(Increme # and return an (output, length consumed) tuple raise NotImplementedError - def encode(self, input, final=False): + def encode(self, input="", final=False): # encode input (taking the buffer into account) data = self.buffer + input (result, consumed) = self._buffer_encode(data, self.errors, final) @@ -265,7 +265,7 @@ class IncrementalDecoder(object): """ self.errors = errors - def decode(self, input, final=False): + def decode(self, input=None, final=False): """ Decode input and returns the resulting object. """ @@ -314,7 +314,7 @@ class BufferedIncrementalDecoder(Increme # and return an (output, length consumed) tuple raise NotImplementedError - def decode(self, input, final=False): + def decode(self, input=b"", final=False): # decode input (taking the buffer into account) data = self.buffer + input (result, consumed) = self._buffer_decode(data, self.errors, final) @@ -1008,7 +1008,7 @@ def iterencode(iterator, encoding, error """ Encoding iterator. - Encodes the input strings from the iterator using a IncrementalEncoder. + Encodes the input strings from the iterator using an IncrementalEncoder. errors and kwargs are passed through to the IncrementalEncoder constructor. @@ -1018,7 +1018,7 @@ def iterencode(iterator, encoding, error output = encoder.encode(input) if output: yield output - output = encoder.encode("", True) + output = encoder.encode(final=True) if output: yield output @@ -1026,7 +1026,7 @@ def iterdecode(iterator, encoding, error """ Decoding iterator. - Decodes the input strings from the iterator using a IncrementalDecoder. + Decodes the input strings from the iterator using an IncrementalDecoder. errors and kwargs are passed through to the IncrementalDecoder constructor. @@ -1036,7 +1036,7 @@ def iterdecode(iterator, encoding, error output = decoder.decode(input) if output: yield output - output = decoder.decode(b"", True) + output = decoder.decode(final=True) if output: yield output diff -r 4a55b98314cd Lib/encodings/ascii.py --- a/Lib/encodings/ascii.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/ascii.py Tue Jan 13 12:37:56 2015 +0000 @@ -18,11 +18,11 @@ class Codec(codecs.Codec): decode = codecs.ascii_decode class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.ascii_encode(input, self.errors)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.ascii_decode(input, self.errors)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/base64_codec.py --- a/Lib/encodings/base64_codec.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/base64_codec.py Tue Jan 13 12:37:56 2015 +0000 @@ -25,12 +25,12 @@ class Codec(codecs.Codec): return base64_decode(input, errors) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input=b"", final=False): assert self.errors == 'strict' return base64.encodebytes(input) class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): assert self.errors == 'strict' return base64.decodebytes(input) diff -r 4a55b98314cd Lib/encodings/bz2_codec.py --- a/Lib/encodings/bz2_codec.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/bz2_codec.py Tue Jan 13 12:37:56 2015 +0000 @@ -32,7 +32,7 @@ class IncrementalEncoder(codecs.Incremen self.errors = errors self.compressobj = bz2.BZ2Compressor() - def encode(self, input, final=False): + def encode(self, input=b"", final=False): if final: c = self.compressobj.compress(input) return c + self.compressobj.flush() @@ -48,7 +48,7 @@ class IncrementalDecoder(codecs.Incremen self.errors = errors self.decompressobj = bz2.BZ2Decompressor() - def decode(self, input, final=False): + def decode(self, input=b"", final=False): try: return self.decompressobj.decompress(input) except EOFError: diff -r 4a55b98314cd Lib/encodings/charmap.py --- a/Lib/encodings/charmap.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/charmap.py Tue Jan 13 12:37:56 2015 +0000 @@ -26,7 +26,7 @@ class IncrementalEncoder(codecs.Incremen codecs.IncrementalEncoder.__init__(self, errors) self.mapping = mapping - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input, self.errors, self.mapping)[0] class IncrementalDecoder(codecs.IncrementalDecoder): @@ -34,7 +34,7 @@ class IncrementalDecoder(codecs.Incremen codecs.IncrementalDecoder.__init__(self, errors) self.mapping = mapping - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input, self.errors, self.mapping)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/cp037.py --- a/Lib/encodings/cp037.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp037.py Tue Jan 13 12:37:56 2015 +0000 @@ -1,4 +1,6 @@ -""" Python Character Mapping Codec cp037 generated from 'MAPPINGS/VENDORS/MICSFT/EBCDIC/CP037.TXT' with gencodec.py. +""" Python Character Mapping Codec cp037 generated from 'MAPPINGS/VENDORS/MICSFT/EBCDIC/CP037.TXT'. + +Generated with gencodec.py, with further manual edits. """#" @@ -15,11 +17,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/cp1006.py --- a/Lib/encodings/cp1006.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp1006.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/cp1026.py --- a/Lib/encodings/cp1026.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp1026.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/cp1125.py --- a/Lib/encodings/cp1125.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp1125.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_map)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/cp1140.py --- a/Lib/encodings/cp1140.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp1140.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/cp1250.py --- a/Lib/encodings/cp1250.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp1250.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/cp1251.py --- a/Lib/encodings/cp1251.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp1251.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/cp1252.py --- a/Lib/encodings/cp1252.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp1252.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/cp1253.py --- a/Lib/encodings/cp1253.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp1253.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/cp1254.py --- a/Lib/encodings/cp1254.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp1254.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/cp1255.py --- a/Lib/encodings/cp1255.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp1255.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/cp1256.py --- a/Lib/encodings/cp1256.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp1256.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/cp1257.py --- a/Lib/encodings/cp1257.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp1257.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/cp1258.py --- a/Lib/encodings/cp1258.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp1258.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/cp273.py --- a/Lib/encodings/cp273.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp273.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/cp424.py --- a/Lib/encodings/cp424.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp424.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/cp437.py --- a/Lib/encodings/cp437.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp437.py Tue Jan 13 12:37:56 2015 +0000 @@ -1,4 +1,6 @@ -""" Python Character Mapping Codec cp437 generated from 'VENDORS/MICSFT/PC/CP437.TXT' with gencodec.py. +""" Python Character Mapping Codec cp437 generated from 'VENDORS/MICSFT/PC/CP437.TXT'. + +Generated with gencodec.py, with further manual edits. """#" @@ -15,11 +17,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_map)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/cp500.py --- a/Lib/encodings/cp500.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp500.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/cp65001.py --- a/Lib/encodings/cp65001.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp65001.py Tue Jan 13 12:37:56 2015 +0000 @@ -17,7 +17,7 @@ def decode(input, errors='strict'): return codecs.code_page_decode(65001, input, errors, True) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return encode(input, self.errors)[0] class IncrementalDecoder(codecs.BufferedIncrementalDecoder): diff -r 4a55b98314cd Lib/encodings/cp720.py --- a/Lib/encodings/cp720.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp720.py Tue Jan 13 12:37:56 2015 +0000 @@ -1,6 +1,7 @@ """Python Character Mapping Codec cp720 generated on Windows: Vista 6.0.6002 SP2 Multiprocessor Free with the command: python Tools/unicode/genwincodec.py 720 +Includes further manual edits. """#" @@ -17,11 +18,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/cp737.py --- a/Lib/encodings/cp737.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp737.py Tue Jan 13 12:37:56 2015 +0000 @@ -1,4 +1,6 @@ -""" Python Character Mapping Codec cp737 generated from 'VENDORS/MICSFT/PC/CP737.TXT' with gencodec.py. +""" Python Character Mapping Codec cp737 generated from 'VENDORS/MICSFT/PC/CP737.TXT'. + +Generated with gencodec.py, with further manual edits. """#" @@ -15,11 +17,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_map)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/cp775.py --- a/Lib/encodings/cp775.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp775.py Tue Jan 13 12:37:56 2015 +0000 @@ -1,4 +1,6 @@ -""" Python Character Mapping Codec cp775 generated from 'VENDORS/MICSFT/PC/CP775.TXT' with gencodec.py. +""" Python Character Mapping Codec cp775 generated from 'VENDORS/MICSFT/PC/CP775.TXT'. + +Generated with gencodec.py, with further manual edits. """#" @@ -15,11 +17,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_map)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/cp850.py --- a/Lib/encodings/cp850.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp850.py Tue Jan 13 12:37:56 2015 +0000 @@ -1,4 +1,6 @@ -""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP850.TXT' with gencodec.py. +""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP850.TXT'. + +Generated with gencodec.py, with further manual edits. """#" @@ -15,11 +17,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_map)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/cp852.py --- a/Lib/encodings/cp852.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp852.py Tue Jan 13 12:37:56 2015 +0000 @@ -1,4 +1,6 @@ -""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP852.TXT' with gencodec.py. +""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP852.TXT'. + +Generated with gencodec.py, with further manual edits. """#" @@ -15,11 +17,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_map)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/cp855.py --- a/Lib/encodings/cp855.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp855.py Tue Jan 13 12:37:56 2015 +0000 @@ -1,4 +1,6 @@ -""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP855.TXT' with gencodec.py. +""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP855.TXT'. + +Generated with gencodec.py, with further manual edits. """#" @@ -15,11 +17,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_map)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/cp856.py --- a/Lib/encodings/cp856.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp856.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/cp857.py --- a/Lib/encodings/cp857.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp857.py Tue Jan 13 12:37:56 2015 +0000 @@ -1,4 +1,6 @@ -""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP857.TXT' with gencodec.py. +""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP857.TXT'. + +Generated with gencodec.py, with further manual edits. """#" @@ -15,11 +17,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_map)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/cp858.py --- a/Lib/encodings/cp858.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp858.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_map)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/cp860.py --- a/Lib/encodings/cp860.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp860.py Tue Jan 13 12:37:56 2015 +0000 @@ -1,4 +1,6 @@ -""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP860.TXT' with gencodec.py. +""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP860.TXT'. + +Generated with gencodec.py, with further manual edits. """#" @@ -15,11 +17,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_map)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/cp861.py --- a/Lib/encodings/cp861.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp861.py Tue Jan 13 12:37:56 2015 +0000 @@ -1,4 +1,6 @@ -""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP861.TXT' with gencodec.py. +""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP861.TXT'. + +Generated with gencodec.py, with further manual edits. """#" @@ -15,11 +17,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_map)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/cp862.py --- a/Lib/encodings/cp862.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp862.py Tue Jan 13 12:37:56 2015 +0000 @@ -1,4 +1,6 @@ -""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP862.TXT' with gencodec.py. +""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP862.TXT'. + +Generated with gencodec.py, with further manual edits. """#" @@ -15,11 +17,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_map)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/cp863.py --- a/Lib/encodings/cp863.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp863.py Tue Jan 13 12:37:56 2015 +0000 @@ -1,4 +1,6 @@ -""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP863.TXT' with gencodec.py. +""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP863.TXT'. + +Generated with gencodec.py, with further manual edits. """#" @@ -15,11 +17,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_map)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/cp864.py --- a/Lib/encodings/cp864.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp864.py Tue Jan 13 12:37:56 2015 +0000 @@ -1,4 +1,6 @@ -""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP864.TXT' with gencodec.py. +""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP864.TXT'. + +Generated with gencodec.py, with further manual edits. """#" @@ -15,11 +17,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_map)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/cp865.py --- a/Lib/encodings/cp865.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp865.py Tue Jan 13 12:37:56 2015 +0000 @@ -1,4 +1,6 @@ -""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP865.TXT' with gencodec.py. +""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP865.TXT'. + +Generated with gencodec.py, with further manual edits. """#" @@ -15,11 +17,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_map)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/cp866.py --- a/Lib/encodings/cp866.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp866.py Tue Jan 13 12:37:56 2015 +0000 @@ -1,4 +1,6 @@ -""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP866.TXT' with gencodec.py. +""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP866.TXT'. + +Generated with gencodec.py, with further manual edits. """#" @@ -15,11 +17,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_map)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/cp869.py --- a/Lib/encodings/cp869.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp869.py Tue Jan 13 12:37:56 2015 +0000 @@ -1,4 +1,6 @@ -""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP869.TXT' with gencodec.py. +""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP869.TXT'. + +Generated with gencodec.py, with further manual edits. """#" @@ -15,11 +17,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_map)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/cp874.py --- a/Lib/encodings/cp874.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp874.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/cp875.py --- a/Lib/encodings/cp875.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/cp875.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/hex_codec.py --- a/Lib/encodings/hex_codec.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/hex_codec.py Tue Jan 13 12:37:56 2015 +0000 @@ -25,12 +25,12 @@ class Codec(codecs.Codec): return hex_decode(input, errors) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input=b"", final=False): assert self.errors == 'strict' return binascii.b2a_hex(input) class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): assert self.errors == 'strict' return binascii.a2b_hex(input) diff -r 4a55b98314cd Lib/encodings/hp_roman8.py --- a/Lib/encodings/hp_roman8.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/hp_roman8.py Tue Jan 13 12:37:56 2015 +0000 @@ -1,5 +1,6 @@ -""" Python Character Mapping Codec generated from 'hp_roman8.txt' with gencodec.py. +""" Python Character Mapping Codec generated from 'hp_roman8.txt'. + Generated with gencodec.py, with further manual edits. Based on data from ftp://dkuug.dk/i18n/charmaps/HP-ROMAN8 (Keld Simonsen) Original source: LaserJet IIP Printer User's Manual HP part no @@ -20,11 +21,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/iso8859_1.py --- a/Lib/encodings/iso8859_1.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/iso8859_1.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/iso8859_10.py --- a/Lib/encodings/iso8859_10.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/iso8859_10.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/iso8859_11.py --- a/Lib/encodings/iso8859_11.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/iso8859_11.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/iso8859_13.py --- a/Lib/encodings/iso8859_13.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/iso8859_13.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/iso8859_14.py --- a/Lib/encodings/iso8859_14.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/iso8859_14.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/iso8859_15.py --- a/Lib/encodings/iso8859_15.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/iso8859_15.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/iso8859_16.py --- a/Lib/encodings/iso8859_16.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/iso8859_16.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/iso8859_2.py --- a/Lib/encodings/iso8859_2.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/iso8859_2.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/iso8859_3.py --- a/Lib/encodings/iso8859_3.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/iso8859_3.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/iso8859_4.py --- a/Lib/encodings/iso8859_4.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/iso8859_4.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/iso8859_5.py --- a/Lib/encodings/iso8859_5.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/iso8859_5.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/iso8859_6.py --- a/Lib/encodings/iso8859_6.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/iso8859_6.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/iso8859_7.py --- a/Lib/encodings/iso8859_7.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/iso8859_7.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/iso8859_8.py --- a/Lib/encodings/iso8859_8.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/iso8859_8.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/iso8859_9.py --- a/Lib/encodings/iso8859_9.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/iso8859_9.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/koi8_r.py --- a/Lib/encodings/koi8_r.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/koi8_r.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/koi8_u.py --- a/Lib/encodings/koi8_u.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/koi8_u.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/latin_1.py --- a/Lib/encodings/latin_1.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/latin_1.py Tue Jan 13 12:37:56 2015 +0000 @@ -18,11 +18,11 @@ class Codec(codecs.Codec): decode = codecs.latin_1_decode class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.latin_1_encode(input,self.errors)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.latin_1_decode(input,self.errors)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/mac_arabic.py --- a/Lib/encodings/mac_arabic.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/mac_arabic.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_map)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/mac_centeuro.py --- a/Lib/encodings/mac_centeuro.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/mac_centeuro.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/mac_croatian.py --- a/Lib/encodings/mac_croatian.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/mac_croatian.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/mac_cyrillic.py --- a/Lib/encodings/mac_cyrillic.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/mac_cyrillic.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/mac_farsi.py --- a/Lib/encodings/mac_farsi.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/mac_farsi.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/mac_greek.py --- a/Lib/encodings/mac_greek.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/mac_greek.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/mac_iceland.py --- a/Lib/encodings/mac_iceland.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/mac_iceland.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/mac_latin2.py --- a/Lib/encodings/mac_latin2.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/mac_latin2.py Tue Jan 13 12:37:56 2015 +0000 @@ -1,10 +1,5 @@ """ Python Character Mapping Codec mac_latin2 generated from 'MAPPINGS/VENDORS/MICSFT/MAC/LATIN2.TXT' with gencodec.py. -Written by Marc-Andre Lemburg (mal@lemburg.com). - -(c) Copyright CNRI, All Rights Reserved. NO WARRANTY. -(c) Copyright 2000 Guido van Rossum. - """#" import codecs @@ -20,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -310,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/mac_roman.py --- a/Lib/encodings/mac_roman.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/mac_roman.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/mac_romanian.py --- a/Lib/encodings/mac_romanian.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/mac_romanian.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/mac_turkish.py --- a/Lib/encodings/mac_turkish.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/mac_turkish.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/mbcs.py --- a/Lib/encodings/mbcs.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/mbcs.py Tue Jan 13 12:37:56 2015 +0000 @@ -21,7 +21,7 @@ def decode(input, errors='strict'): return mbcs_decode(input, errors, True) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return mbcs_encode(input, self.errors)[0] class IncrementalDecoder(codecs.BufferedIncrementalDecoder): diff -r 4a55b98314cd Lib/encodings/palmos.py --- a/Lib/encodings/palmos.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/palmos.py Tue Jan 13 12:37:56 2015 +0000 @@ -16,11 +16,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/ptcp154.py --- a/Lib/encodings/ptcp154.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/ptcp154.py Tue Jan 13 12:37:56 2015 +0000 @@ -20,11 +20,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/punycode.py --- a/Lib/encodings/punycode.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/punycode.py Tue Jan 13 12:37:56 2015 +0000 @@ -208,11 +208,11 @@ class Codec(codecs.Codec): return res, len(input) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return punycode_encode(input) class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): if self.errors not in ('strict', 'replace', 'ignore'): raise UnicodeError("Unsupported error handling "+self.errors) return punycode_decode(input, self.errors) diff -r 4a55b98314cd Lib/encodings/quopri_codec.py --- a/Lib/encodings/quopri_codec.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/quopri_codec.py Tue Jan 13 12:37:56 2015 +0000 @@ -28,11 +28,11 @@ class Codec(codecs.Codec): return quopri_decode(input, errors) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input=b"", final=False): return quopri_encode(input, self.errors)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return quopri_decode(input, self.errors)[0] class StreamWriter(Codec, codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/raw_unicode_escape.py --- a/Lib/encodings/raw_unicode_escape.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/raw_unicode_escape.py Tue Jan 13 12:37:56 2015 +0000 @@ -18,11 +18,11 @@ class Codec(codecs.Codec): decode = codecs.raw_unicode_escape_decode class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.raw_unicode_escape_encode(input, self.errors)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.raw_unicode_escape_decode(input, self.errors)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/rot_13.py --- a/Lib/encodings/rot_13.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/rot_13.py Tue Jan 13 12:37:56 2015 +0000 @@ -18,11 +18,11 @@ class Codec(codecs.Codec): return (input.translate(rot13_map), len(input)) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return input.translate(rot13_map) class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input="", final=False): return input.translate(rot13_map) class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/tis_620.py --- a/Lib/encodings/tis_620.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/tis_620.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,11 +15,11 @@ class Codec(codecs.Codec): return codecs.charmap_decode(input,errors,decoding_table) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input,self.errors,encoding_table)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input,self.errors,decoding_table)[0] class StreamWriter(Codec,codecs.StreamWriter): @@ -305,3 +305,4 @@ decoding_table = ( ### Encoding table encoding_table=codecs.charmap_build(decoding_table) + diff -r 4a55b98314cd Lib/encodings/undefined.py --- a/Lib/encodings/undefined.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/undefined.py Tue Jan 13 12:37:56 2015 +0000 @@ -22,11 +22,11 @@ class Codec(codecs.Codec): raise UnicodeError("undefined encoding") class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): raise UnicodeError("undefined encoding") class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): raise UnicodeError("undefined encoding") class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/unicode_escape.py --- a/Lib/encodings/unicode_escape.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/unicode_escape.py Tue Jan 13 12:37:56 2015 +0000 @@ -18,11 +18,11 @@ class Codec(codecs.Codec): decode = codecs.unicode_escape_decode class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.unicode_escape_encode(input, self.errors)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.unicode_escape_decode(input, self.errors)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/unicode_internal.py --- a/Lib/encodings/unicode_internal.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/unicode_internal.py Tue Jan 13 12:37:56 2015 +0000 @@ -18,11 +18,11 @@ class Codec(codecs.Codec): decode = codecs.unicode_internal_decode class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.unicode_internal_encode(input, self.errors)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.unicode_internal_decode(input, self.errors)[0] class StreamWriter(Codec,codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/utf_16.py --- a/Lib/encodings/utf_16.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/utf_16.py Tue Jan 13 12:37:56 2015 +0000 @@ -20,7 +20,7 @@ class IncrementalEncoder(codecs.Incremen codecs.IncrementalEncoder.__init__(self, errors) self.encoder = None - def encode(self, input, final=False): + def encode(self, input="", final=False): if self.encoder is None: result = codecs.utf_16_encode(input, self.errors)[0] if sys.byteorder == 'little': diff -r 4a55b98314cd Lib/encodings/utf_16_be.py --- a/Lib/encodings/utf_16_be.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/utf_16_be.py Tue Jan 13 12:37:56 2015 +0000 @@ -16,7 +16,7 @@ def decode(input, errors='strict'): return codecs.utf_16_be_decode(input, errors, True) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.utf_16_be_encode(input, self.errors)[0] class IncrementalDecoder(codecs.BufferedIncrementalDecoder): diff -r 4a55b98314cd Lib/encodings/utf_16_le.py --- a/Lib/encodings/utf_16_le.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/utf_16_le.py Tue Jan 13 12:37:56 2015 +0000 @@ -16,7 +16,7 @@ def decode(input, errors='strict'): return codecs.utf_16_le_decode(input, errors, True) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.utf_16_le_encode(input, self.errors)[0] class IncrementalDecoder(codecs.BufferedIncrementalDecoder): diff -r 4a55b98314cd Lib/encodings/utf_32.py --- a/Lib/encodings/utf_32.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/utf_32.py Tue Jan 13 12:37:56 2015 +0000 @@ -15,7 +15,7 @@ class IncrementalEncoder(codecs.Incremen codecs.IncrementalEncoder.__init__(self, errors) self.encoder = None - def encode(self, input, final=False): + def encode(self, input="", final=False): if self.encoder is None: result = codecs.utf_32_encode(input, self.errors)[0] if sys.byteorder == 'little': diff -r 4a55b98314cd Lib/encodings/utf_32_be.py --- a/Lib/encodings/utf_32_be.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/utf_32_be.py Tue Jan 13 12:37:56 2015 +0000 @@ -11,7 +11,7 @@ def decode(input, errors='strict'): return codecs.utf_32_be_decode(input, errors, True) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.utf_32_be_encode(input, self.errors)[0] class IncrementalDecoder(codecs.BufferedIncrementalDecoder): diff -r 4a55b98314cd Lib/encodings/utf_32_le.py --- a/Lib/encodings/utf_32_le.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/utf_32_le.py Tue Jan 13 12:37:56 2015 +0000 @@ -11,7 +11,7 @@ def decode(input, errors='strict'): return codecs.utf_32_le_decode(input, errors, True) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.utf_32_le_encode(input, self.errors)[0] class IncrementalDecoder(codecs.BufferedIncrementalDecoder): diff -r 4a55b98314cd Lib/encodings/utf_7.py --- a/Lib/encodings/utf_7.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/utf_7.py Tue Jan 13 12:37:56 2015 +0000 @@ -12,7 +12,7 @@ def decode(input, errors='strict'): return codecs.utf_7_decode(input, errors, True) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.utf_7_encode(input, self.errors)[0] class IncrementalDecoder(codecs.BufferedIncrementalDecoder): diff -r 4a55b98314cd Lib/encodings/utf_8.py --- a/Lib/encodings/utf_8.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/utf_8.py Tue Jan 13 12:37:56 2015 +0000 @@ -16,7 +16,7 @@ def decode(input, errors='strict'): return codecs.utf_8_decode(input, errors, True) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.utf_8_encode(input, self.errors)[0] class IncrementalDecoder(codecs.BufferedIncrementalDecoder): diff -r 4a55b98314cd Lib/encodings/utf_8_sig.py --- a/Lib/encodings/utf_8_sig.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/utf_8_sig.py Tue Jan 13 12:37:56 2015 +0000 @@ -28,7 +28,7 @@ class IncrementalEncoder(codecs.Incremen codecs.IncrementalEncoder.__init__(self, errors) self.first = 1 - def encode(self, input, final=False): + def encode(self, input="", final=False): if self.first: self.first = 0 return codecs.BOM_UTF8 + \ diff -r 4a55b98314cd Lib/encodings/uu_codec.py --- a/Lib/encodings/uu_codec.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/uu_codec.py Tue Jan 13 12:37:56 2015 +0000 @@ -71,11 +71,11 @@ class Codec(codecs.Codec): return uu_decode(input, errors) class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input=b"", final=False): return uu_encode(input, self.errors)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return uu_decode(input, self.errors)[0] class StreamWriter(Codec, codecs.StreamWriter): diff -r 4a55b98314cd Lib/encodings/zlib_codec.py --- a/Lib/encodings/zlib_codec.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/encodings/zlib_codec.py Tue Jan 13 12:37:56 2015 +0000 @@ -30,7 +30,7 @@ class IncrementalEncoder(codecs.Incremen self.errors = errors self.compressobj = zlib.compressobj() - def encode(self, input, final=False): + def encode(self, input=b"", final=False): if final: c = self.compressobj.compress(input) return c + self.compressobj.flush() @@ -46,7 +46,7 @@ class IncrementalDecoder(codecs.Incremen self.errors = errors self.decompressobj = zlib.decompressobj() - def decode(self, input, final=False): + def decode(self, input=b"", final=False): if final: c = self.decompressobj.decompress(input) return c + self.decompressobj.flush() diff -r 4a55b98314cd Lib/test/test_codecs.py --- a/Lib/test/test_codecs.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/test/test_codecs.py Tue Jan 13 12:37:56 2015 +0000 @@ -1633,6 +1633,25 @@ class CodecsModuleTest(unittest.TestCase self.assertEqual(codecs.encode('[\xff]', 'ascii', errors='ignore'), b'[]') + def test_trivial_iter(self): + with support.check_warnings( + ("unicode_internal", DeprecationWarning)): + for encoding in testable_encodings: + with self.subTest(encoding): + iters = tuple(codecs.iterencode(iter(()), encoding)) + self.assertLessEqual(len(iters), 1) + if encoding == "uu_codec": + continue # Skip due to Issue 20132 + minimal = (b"begin\nend\n",) + else: + minimal = () + iters = tuple(codecs.iterdecode(iter(minimal), encoding)) + self.assertLessEqual(len(iters), 1) + self.assertRaises(UnicodeError, + next, codecs.iterencode(iter(()), "undefined")) + self.assertRaises(UnicodeError, + next, codecs.iterdecode(iter(()), "undefined")) + def test_register(self): self.assertRaises(TypeError, codecs.register) self.assertRaises(TypeError, codecs.register, 42) @@ -1753,6 +1772,7 @@ all_unicode_encodings = [ "cp1256", "cp1257", "cp1258", + "cp273", "cp424", "cp437", "cp500", @@ -1830,15 +1850,21 @@ all_unicode_encodings = [ "tis_620", "unicode_escape", "unicode_internal", + "utf_32", + "utf_32_be", + "utf_32_le", "utf_16", "utf_16_be", "utf_16_le", "utf_7", "utf_8", + "utf_8_sig", ] if hasattr(codecs, "mbcs_encode"): all_unicode_encodings.append("mbcs") +if hasattr(codecs, "code_page_encode"): + all_unicode_encodings.append("cp65001") # The following encoding is not tested, because it's not supposed # to work: @@ -1854,6 +1880,7 @@ class BasicUnicodeTest(unittest.TestCase def test_basics(self): s = "abc123" # all codecs should be able to encode these for encoding in all_unicode_encodings: + # check lookup() and the name attribute name = codecs.lookup(encoding).name if encoding.endswith("_codec"): name += "_codec" @@ -1861,6 +1888,7 @@ class BasicUnicodeTest(unittest.TestCase name = "latin_1" self.assertEqual(encoding.replace("_", "-"), name.replace("_", "-")) + # check stateless codecs returned by geten/decoder() with support.check_warnings(): # unicode-internal has been deprecated (b, size) = codecs.getencoder(encoding)(s) @@ -1886,13 +1914,8 @@ class BasicUnicodeTest(unittest.TestCase decodedresult += reader.read() self.assertEqual(decodedresult, s, "encoding=%r" % encoding) - if encoding not in broken_unicode_with_stateful: # check incremental decoder/encoder and iterencode()/iterdecode() - try: encoder = codecs.getincrementalencoder(encoding)() - except LookupError: # no IncrementalEncoder - pass - else: # check incremental decoder/encoder encodedresult = b"" for c in s: @@ -1918,11 +1941,7 @@ class BasicUnicodeTest(unittest.TestCase if encoding not in ("idna", "mbcs"): # check incremental decoder/encoder with errors argument - try: encoder = codecs.getincrementalencoder(encoding)("ignore") - except LookupError: # no IncrementalEncoder - pass - else: encodedresult = b"".join(encoder.encode(c) for c in s) decoder = codecs.getincrementaldecoder(encoding)("ignore") decodedresult = "".join(decoder.decode(bytes([c])) @@ -2507,6 +2526,9 @@ else: bytes_transform_encodings.append("bz2_codec") transform_aliases["bz2_codec"] = ["bz2"] +testable_encodings = \ + all_unicode_encodings + bytes_transform_encodings + ["rot_13"] + class TransformCodecTest(unittest.TestCase): def test_basics(self): diff -r 4a55b98314cd Lib/test/test_io.py --- a/Lib/test/test_io.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Lib/test/test_io.py Tue Jan 13 12:37:56 2015 +0000 @@ -1950,7 +1950,7 @@ class StatefulIncrementalDecoder(codecs. i, o = divmod(io, 100) self.i, self.o = i ^ 1, o ^ 1 - def decode(self, input, final=False): + def decode(self, input=b"", final=False): output = '' for b in input: if self.i == 0: # variable-length, terminated with period @@ -3049,6 +3049,16 @@ class IncrementalNewlineDecoderTest(unit decoder = self.IncrementalNewlineDecoder(decoder, translate=True) self.check_newline_decoding_utf8(decoder) + def test_no_input(self): + decoder = self.IncrementalNewlineDecoder(None, translate=True) + self.assertEqual("", decoder.decode(final=True)) + decoder = codecs.getincrementaldecoder("ascii")() + decoder = self.IncrementalNewlineDecoder(decoder, translate=True) + self.assertEqual("", decoder.decode(final=True)) + decoder = codecs.getincrementaldecoder("rot-13")() + decoder = self.IncrementalNewlineDecoder(decoder, translate=True) + self.assertEqual("", decoder.decode(final=True)) + def test_newline_bytes(self): # Issue 5433: Excessive optimization in IncrementalNewlineDecoder def _check(dec): diff -r 4a55b98314cd Modules/_io/textio.c --- a/Modules/_io/textio.c Mon Jan 12 21:03:41 2015 +0100 +++ b/Modules/_io/textio.c Tue Jan 13 12:37:56 2015 +0000 @@ -298,7 +298,7 @@ PyObject * _PyIncrementalNewlineDecoder_decode(PyObject *myself, PyObject *input, int final) { - PyObject *output; + PyObject *output = NULL; Py_ssize_t output_len; nldecoder_object *self = (nldecoder_object *) myself; @@ -310,13 +310,47 @@ PyObject * /* decode input (with the eventual \r from a previous pass) */ if (self->decoder != Py_None) { + PyObject *final_arg = final ? Py_True : Py_False; + if (input == NULL) { + /* need to call decoder.decode(final=True) */ + PyObject *decode = PyObject_GetAttr(self->decoder, + _PyIO_str_decode); + PyObject *pos = NULL; + PyObject *kw = NULL; + if (decode == NULL) { + goto fail_decode; + } + pos = PyTuple_New(0); + if (pos == NULL) { + goto fail_decode; + } + kw = PyDict_New(); + if (kw == NULL) { + goto fail_decode; + } + if (PyDict_SetItemString(kw, "final", final_arg) < 0) { + goto fail_decode; + } + output = PyObject_Call(decode, pos, kw); + fail_decode: + Py_XDECREF(kw); + Py_XDECREF(pos); + Py_XDECREF(decode); + } + else { output = PyObject_CallMethodObjArgs(self->decoder, - _PyIO_str_decode, input, final ? Py_True : Py_False, NULL); + _PyIO_str_decode, input, final_arg, NULL); + } + } + else { + if (input == NULL) { + output = PyUnicode_FromString(""); } else { output = input; Py_INCREF(output); } + } if (check_decoded(output) < 0) return NULL; @@ -500,10 +534,10 @@ incrementalnewlinedecoder_decode(nldecod PyObject *args, PyObject *kwds) { char *kwlist[] = {"input", "final", NULL}; - PyObject *input; + PyObject *input = NULL; int final = 0; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|i:IncrementalNewlineDecoder", + if (!PyArg_ParseTupleAndKeywords(args, kwds, "|Oi:IncrementalNewlineDecoder", kwlist, &input, &final)) return NULL; return _PyIncrementalNewlineDecoder_decode((PyObject *) self, input, final); diff -r 4a55b98314cd Modules/cjkcodecs/clinic/multibytecodec.c.h --- a/Modules/cjkcodecs/clinic/multibytecodec.c.h Mon Jan 12 21:03:41 2015 +0100 +++ b/Modules/cjkcodecs/clinic/multibytecodec.c.h Tue Jan 13 12:37:56 2015 +0000 @@ -77,7 +77,7 @@ exit: } PyDoc_STRVAR(_multibytecodec_MultibyteIncrementalEncoder_encode__doc__, -"encode($self, /, input, final=0)\n" +"encode($self, /, input=\'\', final=0)\n" "--"); #define _MULTIBYTECODEC_MULTIBYTEINCREMENTALENCODER_ENCODE_METHODDEF \ @@ -91,11 +91,11 @@ static PyObject * { PyObject *return_value = NULL; static char *_keywords[] = {"input", "final", NULL}; - PyObject *input; + PyObject *input = NULL; int final = 0; if (!PyArg_ParseTupleAndKeywords(args, kwargs, - "O|i:encode", _keywords, + "|Oi:encode", _keywords, &input, &final)) goto exit; return_value = _multibytecodec_MultibyteIncrementalEncoder_encode_impl(self, input, final); @@ -121,7 +121,7 @@ static PyObject * } PyDoc_STRVAR(_multibytecodec_MultibyteIncrementalDecoder_decode__doc__, -"decode($self, /, input, final=0)\n" +"decode($self, /, input=b\'\', final=0)\n" "--"); #define _MULTIBYTECODEC_MULTIBYTEINCREMENTALDECODER_DECODE_METHODDEF \ @@ -135,11 +135,11 @@ static PyObject * { PyObject *return_value = NULL; static char *_keywords[] = {"input", "final", NULL}; - Py_buffer input = {NULL, NULL}; + Py_buffer input = {NULL, NULL, 0}; int final = 0; if (!PyArg_ParseTupleAndKeywords(args, kwargs, - "y*|i:decode", _keywords, + "|y*i:decode", _keywords, &input, &final)) goto exit; return_value = _multibytecodec_MultibyteIncrementalDecoder_decode_impl(self, &input, final); diff -r 4a55b98314cd Modules/cjkcodecs/multibytecodec.c --- a/Modules/cjkcodecs/multibytecodec.c Mon Jan 12 21:03:41 2015 +0100 +++ b/Modules/cjkcodecs/multibytecodec.c Tue Jan 13 12:37:56 2015 +0000 @@ -747,7 +747,14 @@ encoder_encode_stateful(MultibyteStatefu Py_ssize_t inpos, datalen; PyObject *origpending = NULL; - if (PyUnicode_Check(unistr)) + if (unistr == NULL) { + ucvt = PyUnicode_FromString(""); + if (ucvt == NULL) { + return NULL; + } + unistr = ucvt; + } + else if (PyUnicode_Check(unistr)) ucvt = NULL; else { unistr = ucvt = PyObject_Str(unistr); diff -r 4a55b98314cd Tools/unicode/gencodec.py --- a/Tools/unicode/gencodec.py Mon Jan 12 21:03:41 2015 +0100 +++ b/Tools/unicode/gencodec.py Tue Jan 13 12:37:56 2015 +0000 @@ -298,11 +298,11 @@ class Codec(codecs.Codec): ''' % (encodingname, name, suffix, suffix)] l.append('''\ class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): + def encode(self, input="", final=False): return codecs.charmap_encode(input, self.errors, encoding_%s)[0] class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): + def decode(self, input=b"", final=False): return codecs.charmap_decode(input, self.errors, decoding_%s)[0]''' % (suffix, suffix))