17db96d56Sopenharmony_ci""" Python 'raw-unicode-escape' Codec 27db96d56Sopenharmony_ci 37db96d56Sopenharmony_ci 47db96d56Sopenharmony_ciWritten by Marc-Andre Lemburg (mal@lemburg.com). 57db96d56Sopenharmony_ci 67db96d56Sopenharmony_ci(c) Copyright CNRI, All Rights Reserved. NO WARRANTY. 77db96d56Sopenharmony_ci 87db96d56Sopenharmony_ci""" 97db96d56Sopenharmony_ciimport codecs 107db96d56Sopenharmony_ci 117db96d56Sopenharmony_ci### Codec APIs 127db96d56Sopenharmony_ci 137db96d56Sopenharmony_ciclass Codec(codecs.Codec): 147db96d56Sopenharmony_ci 157db96d56Sopenharmony_ci # Note: Binding these as C functions will result in the class not 167db96d56Sopenharmony_ci # converting them to methods. This is intended. 177db96d56Sopenharmony_ci encode = codecs.raw_unicode_escape_encode 187db96d56Sopenharmony_ci decode = codecs.raw_unicode_escape_decode 197db96d56Sopenharmony_ci 207db96d56Sopenharmony_ciclass IncrementalEncoder(codecs.IncrementalEncoder): 217db96d56Sopenharmony_ci def encode(self, input, final=False): 227db96d56Sopenharmony_ci return codecs.raw_unicode_escape_encode(input, self.errors)[0] 237db96d56Sopenharmony_ci 247db96d56Sopenharmony_ciclass IncrementalDecoder(codecs.BufferedIncrementalDecoder): 257db96d56Sopenharmony_ci def _buffer_decode(self, input, errors, final): 267db96d56Sopenharmony_ci return codecs.raw_unicode_escape_decode(input, errors, final) 277db96d56Sopenharmony_ci 287db96d56Sopenharmony_ciclass StreamWriter(Codec,codecs.StreamWriter): 297db96d56Sopenharmony_ci pass 307db96d56Sopenharmony_ci 317db96d56Sopenharmony_ciclass StreamReader(Codec,codecs.StreamReader): 327db96d56Sopenharmony_ci def decode(self, input, errors='strict'): 337db96d56Sopenharmony_ci return codecs.raw_unicode_escape_decode(input, errors, False) 347db96d56Sopenharmony_ci 357db96d56Sopenharmony_ci### encodings module API 367db96d56Sopenharmony_ci 377db96d56Sopenharmony_cidef getregentry(): 387db96d56Sopenharmony_ci return codecs.CodecInfo( 397db96d56Sopenharmony_ci name='raw-unicode-escape', 407db96d56Sopenharmony_ci encode=Codec.encode, 417db96d56Sopenharmony_ci decode=Codec.decode, 427db96d56Sopenharmony_ci incrementalencoder=IncrementalEncoder, 437db96d56Sopenharmony_ci incrementaldecoder=IncrementalDecoder, 447db96d56Sopenharmony_ci streamwriter=StreamWriter, 457db96d56Sopenharmony_ci streamreader=StreamReader, 467db96d56Sopenharmony_ci ) 47