Patch #1436130: codecs.lookup() now returns a CodecInfo object (a subclass
of tuple) that provides incremental decoders and encoders (a way to use
stateful codecs without the stream API). Functions
codecs.getincrementaldecoder() and codecs.getincrementalencoder() have
been added.
diff --git a/Lib/encodings/uu_codec.py b/Lib/encodings/uu_codec.py
index a70ff9e..0877fe1 100644
--- a/Lib/encodings/uu_codec.py
+++ b/Lib/encodings/uu_codec.py
@@ -96,9 +96,18 @@
def encode(self,input,errors='strict'):
return uu_encode(input,errors)
+
def decode(self,input,errors='strict'):
return uu_decode(input,errors)
+class IncrementalEncoder(codecs.IncrementalEncoder):
+ def encode(self, input, final=False):
+ return uu_encode(input, errors)[0]
+
+class IncrementalDecoder(codecs.IncrementalDecoder):
+ def decode(self, input, final=False):
+ return uu_decode(input, errors)[0]
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -108,5 +117,12 @@
### encodings module API
def getregentry():
-
- return (uu_encode,uu_decode,StreamReader,StreamWriter)
+ return codecs.CodecInfo(
+ name='uu',
+ encode=uu_encode,
+ decode=uu_decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )