quopri_codec.py (1472B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\carbon\common\stdlib\encodings\quopri_codec.py 2 import codecs, quopri 3 try: 4 from cStringIO import StringIO 5 except ImportError: 6 from StringIO import StringIO 7 8 def quopri_encode(input, errors = 'strict'): 9 f = StringIO(str(input)) 10 g = StringIO() 11 quopri.encode(f, g, 1) 12 output = g.getvalue() 13 return (output, len(input)) 14 15 16 def quopri_decode(input, errors = 'strict'): 17 f = StringIO(str(input)) 18 g = StringIO() 19 quopri.decode(f, g) 20 output = g.getvalue() 21 return (output, len(input)) 22 23 24 class Codec(codecs.Codec): 25 26 def encode(self, input, errors = 'strict'): 27 return quopri_encode(input, errors) 28 29 def decode(self, input, errors = 'strict'): 30 return quopri_decode(input, errors) 31 32 33 class IncrementalEncoder(codecs.IncrementalEncoder): 34 35 def encode(self, input, final = False): 36 return quopri_encode(input, self.errors)[0] 37 38 39 class IncrementalDecoder(codecs.IncrementalDecoder): 40 41 def decode(self, input, final = False): 42 return quopri_decode(input, self.errors)[0] 43 44 45 class StreamWriter(Codec, codecs.StreamWriter): 46 pass 47 48 49 class StreamReader(Codec, codecs.StreamReader): 50 pass 51 52 53 def getregentry(): 54 return codecs.CodecInfo(name='quopri', encode=quopri_encode, decode=quopri_decode, incrementalencoder=IncrementalEncoder, incrementaldecoder=IncrementalDecoder, streamwriter=StreamWriter, streamreader=StreamReader)