Revert previous change. MAL preferred the old version.

This commit is contained in:
Raymond Hettinger 2003-12-01 13:26:46 +00:00
parent 166958b5df
commit 0ad142aba0
1 changed files with 41 additions and 4 deletions

View File

@ -8,20 +8,57 @@
""" """
import codecs 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' assert errors == 'strict'
output = bz2.compress(input) output = bz2.compress(input)
return (output, len(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' assert errors == 'strict'
output = bz2.decompress(input) output = bz2.decompress(input)
return (output, len(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 ### encodings module API
def getregentry(): def getregentry():
return (encode, decode, codecs.StreamReader, codecs.StreamWriter) return (bz2_encode,bz2_decode,StreamReader,StreamWriter)