17db96d56Sopenharmony_ci#
27db96d56Sopenharmony_ci# shift_jis.py: Python Unicode Codec for SHIFT_JIS
37db96d56Sopenharmony_ci#
47db96d56Sopenharmony_ci# Written by Hye-Shik Chang <perky@FreeBSD.org>
57db96d56Sopenharmony_ci#
67db96d56Sopenharmony_ci
77db96d56Sopenharmony_ciimport _codecs_jp, codecs
87db96d56Sopenharmony_ciimport _multibytecodec as mbc
97db96d56Sopenharmony_ci
107db96d56Sopenharmony_cicodec = _codecs_jp.getcodec('shift_jis')
117db96d56Sopenharmony_ci
127db96d56Sopenharmony_ciclass Codec(codecs.Codec):
137db96d56Sopenharmony_ci    encode = codec.encode
147db96d56Sopenharmony_ci    decode = codec.decode
157db96d56Sopenharmony_ci
167db96d56Sopenharmony_ciclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
177db96d56Sopenharmony_ci                         codecs.IncrementalEncoder):
187db96d56Sopenharmony_ci    codec = codec
197db96d56Sopenharmony_ci
207db96d56Sopenharmony_ciclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
217db96d56Sopenharmony_ci                         codecs.IncrementalDecoder):
227db96d56Sopenharmony_ci    codec = codec
237db96d56Sopenharmony_ci
247db96d56Sopenharmony_ciclass StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
257db96d56Sopenharmony_ci    codec = codec
267db96d56Sopenharmony_ci
277db96d56Sopenharmony_ciclass StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
287db96d56Sopenharmony_ci    codec = codec
297db96d56Sopenharmony_ci
307db96d56Sopenharmony_cidef getregentry():
317db96d56Sopenharmony_ci    return codecs.CodecInfo(
327db96d56Sopenharmony_ci        name='shift_jis',
337db96d56Sopenharmony_ci        encode=Codec().encode,
347db96d56Sopenharmony_ci        decode=Codec().decode,
357db96d56Sopenharmony_ci        incrementalencoder=IncrementalEncoder,
367db96d56Sopenharmony_ci        incrementaldecoder=IncrementalDecoder,
377db96d56Sopenharmony_ci        streamreader=StreamReader,
387db96d56Sopenharmony_ci        streamwriter=StreamWriter,
397db96d56Sopenharmony_ci    )
40