blob: e329a2607de4d59fa014de61b5949db862e3112c [file] [log] [blame]
Martin v. Löwis8a8da792002-08-14 07:46:28 +00001# -*- coding: iso-8859-1 -*-
2""" Python 'escape' Codec
3
4
5Written by Martin v. Löwis (martin@v.loewis.de).
6
7"""
8import codecs
9
10class Codec(codecs.Codec):
11
12 encode = codecs.escape_encode
13 decode = codecs.escape_decode
14
Walter Dörwaldabb02e52006-03-15 11:35:15 +000015class IncrementalEncoder(codecs.IncrementalEncoder):
16 def encode(self, input, final=False):
17 return codecs.escape_encode(input, self.errors)[0]
18
19class IncrementalDecoder(codecs.IncrementalDecoder):
20 def decode(self, input, final=False):
21 return codecs.escape_decode(input, self.errors)[0]
22
Martin v. Löwis8a8da792002-08-14 07:46:28 +000023class StreamWriter(Codec,codecs.StreamWriter):
24 pass
Tim Peters280488b2002-08-23 18:19:30 +000025
Martin v. Löwis8a8da792002-08-14 07:46:28 +000026class StreamReader(Codec,codecs.StreamReader):
27 pass
28
29def getregentry():
Walter Dörwaldabb02e52006-03-15 11:35:15 +000030 return codecs.CodecInfo(
31 name='string-escape',
32 encode=Codec.encode,
33 decode=Codec.decode,
34 incrementalencoder=IncrementalEncoder,
35 incrementaldecoder=IncrementalDecoder,
36 streamwriter=StreamWriter,
37 streamreader=StreamReader,
38 )