diff options
author | Walter Dörwald <walter@livinglogic.de> | 2006-03-15 11:35:15 (GMT) |
---|---|---|
committer | Walter Dörwald <walter@livinglogic.de> | 2006-03-15 11:35:15 (GMT) |
commit | abb02e59946f9ea3076e96e3b03b51d1cebd46b4 (patch) | |
tree | 165444acd89173a8832547078cbc417d4626116e /Lib/encodings/cp424.py | |
parent | e2ebb2d7f777db2de72cfeb0e3c489ac4cc5c400 (diff) | |
download | cpython-abb02e59946f9ea3076e96e3b03b51d1cebd46b4.zip cpython-abb02e59946f9ea3076e96e3b03b51d1cebd46b4.tar.gz cpython-abb02e59946f9ea3076e96e3b03b51d1cebd46b4.tar.bz2 |
Patch #1436130: codecs.lookup() now returns a CodecInfo object (a subclass
of tuple) that provides incremental decoders and encoders (a way to use
stateful codecs without the stream API). Functions
codecs.getincrementaldecoder() and codecs.getincrementalencoder() have
been added.
Diffstat (limited to 'Lib/encodings/cp424.py')
-rw-r--r-- | Lib/encodings/cp424.py | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/Lib/encodings/cp424.py b/Lib/encodings/cp424.py index d19c756..9812ccd 100644 --- a/Lib/encodings/cp424.py +++ b/Lib/encodings/cp424.py @@ -1,4 +1,4 @@ -""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/MISC/CP424.TXT' with gencodec.py. +""" Python Character Mapping Codec cp424 generated from 'MAPPINGS/VENDORS/MISC/CP424.TXT' with gencodec.py. """#" @@ -9,13 +9,19 @@ import codecs 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_table) +class IncrementalEncoder(codecs.IncrementalEncoder): + def encode(self, input, final=False): + return codecs.charmap_encode(input,self.errors,encoding_map)[0] + +class IncrementalDecoder(codecs.IncrementalDecoder): + def decode(self, input, final=False): + return codecs.charmap_decode(input,self.errors,decoding_table)[0] + class StreamWriter(Codec,codecs.StreamWriter): pass @@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader): ### encodings module API def getregentry(): - - return (Codec().encode,Codec().decode,StreamReader,StreamWriter) + return codecs.CodecInfo( + name='cp424', + encode=Codec().encode, + decode=Codec().decode, + incrementalencoder=IncrementalEncoder, + incrementaldecoder=IncrementalDecoder, + streamreader=StreamReader, + streamwriter=StreamWriter, + ) ### Decoding Table @@ -512,3 +525,4 @@ encoding_map = { 0x05EA: 0x71, # HEBREW LETTER TAV 0x2017: 0x78, # DOUBLE LOW LINE } + |