Patch #429957: Add support for cp1140, which is identical to cp037,
with the addition of the euro character. Also added a few EDBDIC aliases.
This commit is contained in:
parent
e2ccb89513
commit
13b8bc5478
|
@ -32,6 +32,11 @@ aliases = {
|
|||
# ASCII
|
||||
'us_ascii': 'ascii',
|
||||
|
||||
# EBCDIC
|
||||
'ebcdic_cp_us': 'cp037',
|
||||
'ibm039': 'cp037',
|
||||
'ibm1140': 'cp1140',
|
||||
|
||||
# ISO
|
||||
'8859': 'latin_1',
|
||||
'iso8859': 'latin_1',
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
""" Python Character Mapping Codec for cp1140
|
||||
|
||||
Written by Brian Quinlan(brian@sweetapp.com). NO WARRANTY.
|
||||
"""
|
||||
|
||||
import codecs
|
||||
import copy
|
||||
import cp037
|
||||
|
||||
### Codec APIs
|
||||
|
||||
class Codec(codecs.Codec):
|
||||
|
||||
def encode(self,input,errors='strict'):
|
||||
|
||||
return codecs.charmap_encode(input,errors,encoding_map)
|
||||
|
||||
def decode(self,input,errors='strict'):
|
||||
|
||||
return codecs.charmap_decode(input,errors,decoding_map)
|
||||
|
||||
class StreamWriter(Codec,codecs.StreamWriter):
|
||||
pass
|
||||
|
||||
class StreamReader(Codec,codecs.StreamReader):
|
||||
pass
|
||||
|
||||
### encodings module API
|
||||
|
||||
def getregentry():
|
||||
|
||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
||||
|
||||
### Decoding Map
|
||||
|
||||
decoding_map = copy.copy(cp037.decoding_map)
|
||||
|
||||
decoding_map.update({
|
||||
0x009f: 0x20ac # EURO SIGN
|
||||
})
|
||||
|
||||
### Encoding Map
|
||||
|
||||
encoding_map = codecs.make_encoding_map(decoding_map)
|
||||
|
Loading…
Reference in New Issue