summaryrefslogtreecommitdiffstats
path: root/Lib/encodings/utf_8.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/encodings/utf_8.py')
-rw-r--r--Lib/encodings/utf_8.py18
1 files changed, 16 insertions, 2 deletions
diff --git a/Lib/encodings/utf_8.py b/Lib/encodings/utf_8.py
index 9cb0b4b..1bf6336 100644
--- a/Lib/encodings/utf_8.py
+++ b/Lib/encodings/utf_8.py
@@ -15,6 +15,13 @@ encode = codecs.utf_8_encode
def decode(input, errors='strict'):
return codecs.utf_8_decode(input, errors, True)
+class IncrementalEncoder(codecs.IncrementalEncoder):
+ def encode(self, input, final=False):
+ return codecs.utf_8_encode(input, self.errors)[0]
+
+class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
+ _buffer_decode = codecs.utf_8_decode
+
class StreamWriter(codecs.StreamWriter):
encode = codecs.utf_8_encode
@@ -24,5 +31,12 @@ class StreamReader(codecs.StreamReader):
### encodings module API
def getregentry():
-
- return (encode,decode,StreamReader,StreamWriter)
+ return codecs.CodecInfo(
+ name='utf-8',
+ encode=encode,
+ decode=decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )