string_escape.py 991 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. # -*- coding: iso-8859-1 -*-
  2. """ Python 'escape' Codec
  3. Written by Martin v. Löwis (martin@v.loewis.de).
  4. """
  5. import codecs
  6. class Codec(codecs.Codec):
  7. encode = codecs.escape_encode
  8. decode = codecs.escape_decode
  9. class IncrementalEncoder(codecs.IncrementalEncoder):
  10. def encode(self, input, final=False):
  11. return codecs.escape_encode(input, self.errors)[0]
  12. class IncrementalDecoder(codecs.IncrementalDecoder):
  13. def decode(self, input, final=False):
  14. return codecs.escape_decode(input, self.errors)[0]
  15. class StreamWriter(Codec,codecs.StreamWriter):
  16. pass
  17. class StreamReader(Codec,codecs.StreamReader):
  18. pass
  19. def getregentry():
  20. return codecs.CodecInfo(
  21. name='string-escape',
  22. encode=Codec.encode,
  23. decode=Codec.decode,
  24. incrementalencoder=IncrementalEncoder,
  25. incrementaldecoder=IncrementalDecoder,
  26. streamwriter=StreamWriter,
  27. streamreader=StreamReader,
  28. )