PageRenderTime 655ms CodeModel.GetById 523ms app.highlight 4ms RepoModel.GetById 127ms app.codeStats 0ms

/Lib/encodings/ascii.py

http://unladen-swallow.googlecode.com/
Python | 50 lines | 50 code | 0 blank | 0 comment | 0 complexity | 81293488266fc76f3c2f5e0bb0554040 MD5 | raw file
 1""" Python 'ascii' Codec
 2
 3
 4Written by Marc-Andre Lemburg (mal@lemburg.com).
 5
 6(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
 7
 8"""
 9import codecs
10
11### Codec APIs
12
13class Codec(codecs.Codec):
14
15    # Note: Binding these as C functions will result in the class not
16    # converting them to methods. This is intended.
17    encode = codecs.ascii_encode
18    decode = codecs.ascii_decode
19
20class IncrementalEncoder(codecs.IncrementalEncoder):
21    def encode(self, input, final=False):
22        return codecs.ascii_encode(input, self.errors)[0]
23
24class IncrementalDecoder(codecs.IncrementalDecoder):
25    def decode(self, input, final=False):
26        return codecs.ascii_decode(input, self.errors)[0]
27
28class StreamWriter(Codec,codecs.StreamWriter):
29    pass
30
31class StreamReader(Codec,codecs.StreamReader):
32    pass
33
34class StreamConverter(StreamWriter,StreamReader):
35
36    encode = codecs.ascii_decode
37    decode = codecs.ascii_encode
38
39### encodings module API
40
41def getregentry():
42    return codecs.CodecInfo(
43        name='ascii',
44        encode=Codec.encode,
45        decode=Codec.decode,
46        incrementalencoder=IncrementalEncoder,
47        incrementaldecoder=IncrementalDecoder,
48        streamwriter=StreamWriter,
49        streamreader=StreamReader,
50    )