summaryrefslogtreecommitdiff
path: root/Lib/encodings/uu_codec.py
diff options
context:
space:
mode:
authorWalter Dörwald <walter@livinglogic.de>2006-03-15 11:35:15 +0000
committerWalter Dörwald <walter@livinglogic.de>2006-03-15 11:35:15 +0000
commitabb02e59946f9ea3076e96e3b03b51d1cebd46b4 (patch)
tree165444acd89173a8832547078cbc417d4626116e /Lib/encodings/uu_codec.py
parente2ebb2d7f777db2de72cfeb0e3c489ac4cc5c400 (diff)
downloadcpython-git-abb02e59946f9ea3076e96e3b03b51d1cebd46b4.tar.gz
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.py20
1 files changed, 18 insertions, 2 deletions
diff --git a/Lib/encodings/uu_codec.py b/Lib/encodings/uu_codec.py
index a70ff9e8ef..0877fe1ab0 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,
+ )