Issue #6615: logging: Used weak references in internal handler list. Thanks to flox...
[python.git] / Lib / encodings / unicode_internal.py
blobdf3e7752d20a8e15c985742f11265b0ec7b3277b
1 """ Python 'unicode-internal' Codec
4 Written by Marc-Andre Lemburg (mal@lemburg.com).
6 (c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
8 """
9 import codecs
11 ### Codec APIs
13 class Codec(codecs.Codec):
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_internal_encode
18 decode = codecs.unicode_internal_decode
20 class IncrementalEncoder(codecs.IncrementalEncoder):
21 def encode(self, input, final=False):
22 return codecs.unicode_internal_encode(input, self.errors)[0]
24 class IncrementalDecoder(codecs.IncrementalDecoder):
25 def decode(self, input, final=False):
26 return codecs.unicode_internal_decode(input, self.errors)[0]
28 class StreamWriter(Codec,codecs.StreamWriter):
29 pass
31 class StreamReader(Codec,codecs.StreamReader):
32 pass
34 ### encodings module API
36 def getregentry():
37 return codecs.CodecInfo(
38 name='unicode-internal',
39 encode=Codec.encode,
40 decode=Codec.decode,
41 incrementalencoder=IncrementalEncoder,
42 incrementaldecoder=IncrementalDecoder,
43 streamwriter=StreamWriter,
44 streamreader=StreamReader,