1 """ Generic Python Character Mapping Codec.
3 Use this codec directly rather than through the automatic
4 conversion mechanisms supplied by unicode() and .encode().
7 Written by Marc-Andre Lemburg (mal@lemburg.com).
9 (c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
17 class Codec(codecs
.Codec
):
19 # Note: Binding these as C functions will result in the class not
20 # converting them to methods. This is intended.
21 encode
= codecs
.charmap_encode
22 decode
= codecs
.charmap_decode
24 class IncrementalEncoder(codecs
.IncrementalEncoder
):
25 def __init__(self
, errors
='strict', mapping
=None):
26 codecs
.IncrementalEncoder
.__init
__(self
, errors
)
27 self
.mapping
= mapping
29 def encode(self
, input, final
=False):
30 return codecs
.charmap_encode(input, self
.errors
, self
.mapping
)[0]
32 class IncrementalDecoder(codecs
.IncrementalDecoder
):
33 def __init__(self
, errors
='strict', mapping
=None):
34 codecs
.IncrementalDecoder
.__init
__(self
, errors
)
35 self
.mapping
= mapping
37 def decode(self
, input, final
=False):
38 return codecs
.charmap_decode(input, self
.errors
, self
.mapping
)[0]
40 class StreamWriter(Codec
,codecs
.StreamWriter
):
42 def __init__(self
,stream
,errors
='strict',mapping
=None):
43 codecs
.StreamWriter
.__init
__(self
,stream
,errors
)
44 self
.mapping
= mapping
46 def encode(self
,input,errors
='strict'):
47 return Codec
.encode(input,errors
,self
.mapping
)
49 class StreamReader(Codec
,codecs
.StreamReader
):
51 def __init__(self
,stream
,errors
='strict',mapping
=None):
52 codecs
.StreamReader
.__init
__(self
,stream
,errors
)
53 self
.mapping
= mapping
55 def decode(self
,input,errors
='strict'):
56 return Codec
.decode(input,errors
,self
.mapping
)
58 ### encodings module API
61 return codecs
.CodecInfo(
65 incrementalencoder
=IncrementalEncoder
,
66 incrementaldecoder
=IncrementalDecoder
,
67 streamwriter
=StreamWriter
,
68 streamreader
=StreamReader
,