Blame Lib/encodings/mbcs.py

rpm-build 2bd099
""" Python 'mbcs' Codec for Windows
rpm-build 2bd099
rpm-build 2bd099
rpm-build 2bd099
Cloned by Mark Hammond (mhammond@skippinet.com.au) from ascii.py,
rpm-build 2bd099
which was written by Marc-Andre Lemburg (mal@lemburg.com).
rpm-build 2bd099
rpm-build 2bd099
(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
rpm-build 2bd099
rpm-build 2bd099
"""
rpm-build 2bd099
# Import them explicitly to cause an ImportError
rpm-build 2bd099
# on non-Windows systems
rpm-build 2bd099
from codecs import mbcs_encode, mbcs_decode
rpm-build 2bd099
# for IncrementalDecoder, IncrementalEncoder, ...
rpm-build 2bd099
import codecs
rpm-build 2bd099
rpm-build 2bd099
### Codec APIs
rpm-build 2bd099
rpm-build 2bd099
encode = mbcs_encode
rpm-build 2bd099
rpm-build 2bd099
def decode(input, errors='strict'):
rpm-build 2bd099
    return mbcs_decode(input, errors, True)
rpm-build 2bd099
rpm-build 2bd099
class IncrementalEncoder(codecs.IncrementalEncoder):
rpm-build 2bd099
    def encode(self, input, final=False):
rpm-build 2bd099
        return mbcs_encode(input, self.errors)[0]
rpm-build 2bd099
rpm-build 2bd099
class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
rpm-build 2bd099
    _buffer_decode = mbcs_decode
rpm-build 2bd099
rpm-build 2bd099
class StreamWriter(codecs.StreamWriter):
rpm-build 2bd099
    encode = mbcs_encode
rpm-build 2bd099
rpm-build 2bd099
class StreamReader(codecs.StreamReader):
rpm-build 2bd099
    decode = mbcs_decode
rpm-build 2bd099
rpm-build 2bd099
### encodings module API
rpm-build 2bd099
rpm-build 2bd099
def getregentry():
rpm-build 2bd099
    return codecs.CodecInfo(
rpm-build 2bd099
        name='mbcs',
rpm-build 2bd099
        encode=encode,
rpm-build 2bd099
        decode=decode,
rpm-build 2bd099
        incrementalencoder=IncrementalEncoder,
rpm-build 2bd099
        incrementaldecoder=IncrementalDecoder,
rpm-build 2bd099
        streamreader=StreamReader,
rpm-build 2bd099
        streamwriter=StreamWriter,
rpm-build 2bd099
    )