diff options
author | Raymond Hettinger <python@rcn.com> | 2003-12-01 13:26:46 (GMT) |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2003-12-01 13:26:46 (GMT) |
commit | 0ad142aba05d0ecbbc42117e43cf98201b2cabc9 (patch) | |
tree | 4112aa7a147c3d4eb47e45f6b0ae76bdf148209a /Lib | |
parent | 166958b5df50fca05cb24be0152737edf575dbb9 (diff) | |
download | cpython-0ad142aba05d0ecbbc42117e43cf98201b2cabc9.zip cpython-0ad142aba05d0ecbbc42117e43cf98201b2cabc9.tar.gz cpython-0ad142aba05d0ecbbc42117e43cf98201b2cabc9.tar.bz2 |
Revert previous change. MAL preferred the old version.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/encodings/bz2_codec.py | 45 |
1 files changed, 41 insertions, 4 deletions
diff --git a/Lib/encodings/bz2_codec.py b/Lib/encodings/bz2_codec.py index 22b32e2..870474c 100644 --- a/Lib/encodings/bz2_codec.py +++ b/Lib/encodings/bz2_codec.py @@ -8,20 +8,57 @@ """ import codecs -import bz2 +import bz2 # this codec needs the optional bz2 module ! -def encode(input, errors='strict'): +### Codec APIs + +def bz2_encode(input,errors='strict'): + + """ Encodes the object input and returns a tuple (output + object, length consumed). + + errors defines the error handling to apply. It defaults to + 'strict' handling which is the only currently supported + error handling for this codec. + + """ assert errors == 'strict' output = bz2.compress(input) return (output, len(input)) -def decode(input, errors='strict'): +def bz2_decode(input,errors='strict'): + + """ Decodes the object input and returns a tuple (output + object, length consumed). + + input must be an object which provides the bf_getreadbuf + buffer slot. Python strings, buffer objects and memory + mapped files are examples of objects providing this slot. + + errors defines the error handling to apply. It defaults to + 'strict' handling which is the only currently supported + error handling for this codec. + + """ assert errors == 'strict' output = bz2.decompress(input) return (output, len(input)) +class Codec(codecs.Codec): + + def encode(self, input, errors='strict'): + return bz2_encode(input, errors) + def decode(self, input, errors='strict'): + return bz2_decode(input, errors) + +class StreamWriter(Codec,codecs.StreamWriter): + pass + +class StreamReader(Codec,codecs.StreamReader): + pass + ### encodings module API def getregentry(): - return (encode, decode, codecs.StreamReader, codecs.StreamWriter) + return (bz2_encode,bz2_decode,StreamReader,StreamWriter) |