blob: 5fd31a654d73fdd277f3f8154152cf13ebb886d0 [file] [log] [blame]
Martin v. Löwis13b8bc52001-06-07 19:39:25 +00001""" Python Character Mapping Codec for cp1140
2
3Written by Brian Quinlan(brian@sweetapp.com). NO WARRANTY.
4"""
5
6import codecs
7import copy
8import cp037
9
10### Codec APIs
11
12class Codec(codecs.Codec):
13
14 def encode(self,input,errors='strict'):
15
16 return codecs.charmap_encode(input,errors,encoding_map)
Tim Peters469cdad2002-08-08 20:19:19 +000017
Martin v. Löwis13b8bc52001-06-07 19:39:25 +000018 def decode(self,input,errors='strict'):
19
20 return codecs.charmap_decode(input,errors,decoding_map)
21
22class StreamWriter(Codec,codecs.StreamWriter):
23 pass
Tim Peters469cdad2002-08-08 20:19:19 +000024
Martin v. Löwis13b8bc52001-06-07 19:39:25 +000025class StreamReader(Codec,codecs.StreamReader):
26 pass
27
28### encodings module API
29
30def getregentry():
31
32 return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
33
34### Decoding Map
35
36decoding_map = copy.copy(cp037.decoding_map)
37
38decoding_map.update({
Tim Peters469cdad2002-08-08 20:19:19 +000039 0x009f: 0x20ac # EURO SIGN
Martin v. Löwis13b8bc52001-06-07 19:39:25 +000040})
41
42### Encoding Map
43
44encoding_map = codecs.make_encoding_map(decoding_map)