Simplifed the code.

This commit is contained in:
Raymond Hettinger 2003-12-01 10:41:02 +00:00
parent 0a18552b29
commit a45517065a

View file

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