1 # 2 # shift_jisx0213.py: Python Unicode Codec for SHIFT_JISX0213 3 # 4 # Written by Hye-Shik Chang <perky (at] FreeBSD.org> 5 # 6 7 import _codecs_jp, codecs 8 import _multibytecodec as mbc 9 10 codec = _codecs_jp.getcodec('shift_jisx0213') 11 12 class Codec(codecs.Codec): 13 encode = codec.encode 14 decode = codec.decode 15 16 class IncrementalEncoder(mbc.MultibyteIncrementalEncoder, 17 codecs.IncrementalEncoder): 18 codec = codec 19 20 class IncrementalDecoder(mbc.MultibyteIncrementalDecoder, 21 codecs.IncrementalDecoder): 22 codec = codec 23 24 class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader): 25 codec = codec 26 27 class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter): 28 codec = codec 29 30 def getregentry(): 31 return codecs.CodecInfo( 32 name='shift_jisx0213', 33 encode=Codec().encode, 34 decode=Codec().decode, 35 incrementalencoder=IncrementalEncoder, 36 incrementaldecoder=IncrementalDecoder, 37 streamreader=StreamReader, 38 streamwriter=StreamWriter, 39 ) 40