1*cda5da8dSAndroid Build Coastguard Worker""" Python 'ascii' Codec 2*cda5da8dSAndroid Build Coastguard Worker 3*cda5da8dSAndroid Build Coastguard Worker 4*cda5da8dSAndroid Build Coastguard WorkerWritten by Marc-Andre Lemburg ([email protected]). 5*cda5da8dSAndroid Build Coastguard Worker 6*cda5da8dSAndroid Build Coastguard Worker(c) Copyright CNRI, All Rights Reserved. NO WARRANTY. 7*cda5da8dSAndroid Build Coastguard Worker 8*cda5da8dSAndroid Build Coastguard Worker""" 9*cda5da8dSAndroid Build Coastguard Workerimport codecs 10*cda5da8dSAndroid Build Coastguard Worker 11*cda5da8dSAndroid Build Coastguard Worker### Codec APIs 12*cda5da8dSAndroid Build Coastguard Worker 13*cda5da8dSAndroid Build Coastguard Workerclass Codec(codecs.Codec): 14*cda5da8dSAndroid Build Coastguard Worker 15*cda5da8dSAndroid Build Coastguard Worker # Note: Binding these as C functions will result in the class not 16*cda5da8dSAndroid Build Coastguard Worker # converting them to methods. This is intended. 17*cda5da8dSAndroid Build Coastguard Worker encode = codecs.ascii_encode 18*cda5da8dSAndroid Build Coastguard Worker decode = codecs.ascii_decode 19*cda5da8dSAndroid Build Coastguard Worker 20*cda5da8dSAndroid Build Coastguard Workerclass IncrementalEncoder(codecs.IncrementalEncoder): 21*cda5da8dSAndroid Build Coastguard Worker def encode(self, input, final=False): 22*cda5da8dSAndroid Build Coastguard Worker return codecs.ascii_encode(input, self.errors)[0] 23*cda5da8dSAndroid Build Coastguard Worker 24*cda5da8dSAndroid Build Coastguard Workerclass IncrementalDecoder(codecs.IncrementalDecoder): 25*cda5da8dSAndroid Build Coastguard Worker def decode(self, input, final=False): 26*cda5da8dSAndroid Build Coastguard Worker return codecs.ascii_decode(input, self.errors)[0] 27*cda5da8dSAndroid Build Coastguard Worker 28*cda5da8dSAndroid Build Coastguard Workerclass StreamWriter(Codec,codecs.StreamWriter): 29*cda5da8dSAndroid Build Coastguard Worker pass 30*cda5da8dSAndroid Build Coastguard Worker 31*cda5da8dSAndroid Build Coastguard Workerclass StreamReader(Codec,codecs.StreamReader): 32*cda5da8dSAndroid Build Coastguard Worker pass 33*cda5da8dSAndroid Build Coastguard Worker 34*cda5da8dSAndroid Build Coastguard Workerclass StreamConverter(StreamWriter,StreamReader): 35*cda5da8dSAndroid Build Coastguard Worker 36*cda5da8dSAndroid Build Coastguard Worker encode = codecs.ascii_decode 37*cda5da8dSAndroid Build Coastguard Worker decode = codecs.ascii_encode 38*cda5da8dSAndroid Build Coastguard Worker 39*cda5da8dSAndroid Build Coastguard Worker### encodings module API 40*cda5da8dSAndroid Build Coastguard Worker 41*cda5da8dSAndroid Build Coastguard Workerdef getregentry(): 42*cda5da8dSAndroid Build Coastguard Worker return codecs.CodecInfo( 43*cda5da8dSAndroid Build Coastguard Worker name='ascii', 44*cda5da8dSAndroid Build Coastguard Worker encode=Codec.encode, 45*cda5da8dSAndroid Build Coastguard Worker decode=Codec.decode, 46*cda5da8dSAndroid Build Coastguard Worker incrementalencoder=IncrementalEncoder, 47*cda5da8dSAndroid Build Coastguard Worker incrementaldecoder=IncrementalDecoder, 48*cda5da8dSAndroid Build Coastguard Worker streamwriter=StreamWriter, 49*cda5da8dSAndroid Build Coastguard Worker streamreader=StreamReader, 50*cda5da8dSAndroid Build Coastguard Worker ) 51