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