diff options
author | Walter Dörwald <walter@livinglogic.de> | 2006-03-15 11:35:15 (GMT) |
---|---|---|
committer | Walter Dörwald <walter@livinglogic.de> | 2006-03-15 11:35:15 (GMT) |
commit | abb02e59946f9ea3076e96e3b03b51d1cebd46b4 (patch) | |
tree | 165444acd89173a8832547078cbc417d4626116e /Lib/encodings/uu_codec.py | |
parent | e2ebb2d7f777db2de72cfeb0e3c489ac4cc5c400 (diff) | |
download | cpython-abb02e59946f9ea3076e96e3b03b51d1cebd46b4.zip cpython-abb02e59946f9ea3076e96e3b03b51d1cebd46b4.tar.gz cpython-abb02e59946f9ea3076e96e3b03b51d1cebd46b4.tar.bz2 |
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.
Diffstat (limited to 'Lib/encodings/uu_codec.py')
-rw-r--r-- | Lib/encodings/uu_codec.py | 20 |
1 files changed, 18 insertions, 2 deletions
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 @@ class Codec(codecs.Codec): 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 @@ class StreamReader(Codec,codecs.StreamReader): ### 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, + ) |