1 """ Python 'ascii' Codec 2 3 4 Written by Marc-Andre Lemburg (mal (at] lemburg.com). 5 6 (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. 7 8 """ 9 import codecs 10 11 ### Codec APIs 12 13 class 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 20 class IncrementalEncoder(codecs.IncrementalEncoder): 21 def encode(self, input, final=False): 22 return codecs.ascii_encode(input, self.errors)[0] 23 24 class IncrementalDecoder(codecs.IncrementalDecoder): 25 def decode(self, input, final=False): 26 return codecs.ascii_decode(input, self.errors)[0] 27 28 class StreamWriter(Codec,codecs.StreamWriter): 29 pass 30 31 class StreamReader(Codec,codecs.StreamReader): 32 pass 33 34 class StreamConverter(StreamWriter,StreamReader): 35 36 encode = codecs.ascii_decode 37 decode = codecs.ascii_encode 38 39 ### encodings module API 40 41 def 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 ) 51