1""" Python 'unicode-escape' 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.unicode_escape_encode 18 decode = codecs.unicode_escape_decode 19 20class IncrementalEncoder(codecs.IncrementalEncoder): 21 def encode(self, input, final=False): 22 return codecs.unicode_escape_encode(input, self.errors)[0] 23 24class IncrementalDecoder(codecs.BufferedIncrementalDecoder): 25 def _buffer_decode(self, input, errors, final): 26 return codecs.unicode_escape_decode(input, errors, final) 27 28class StreamWriter(Codec,codecs.StreamWriter): 29 pass 30 31class StreamReader(Codec,codecs.StreamReader): 32 def decode(self, input, errors='strict'): 33 return codecs.unicode_escape_decode(input, errors, False) 34 35### encodings module API 36 37def getregentry(): 38 return codecs.CodecInfo( 39 name='unicode-escape', 40 encode=Codec.encode, 41 decode=Codec.decode, 42 incrementalencoder=IncrementalEncoder, 43 incrementaldecoder=IncrementalDecoder, 44 streamwriter=StreamWriter, 45 streamreader=StreamReader, 46 ) 47