10a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#
20a8c90248264a8b26970b4473770bcc3df8515fJosh Gao# euc_kr.py: Python Unicode Codec for EUC_KR
30a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#
40a8c90248264a8b26970b4473770bcc3df8515fJosh Gao# Written by Hye-Shik Chang <perky@FreeBSD.org>
50a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#
60a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
70a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoimport _codecs_kr, codecs
80a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoimport _multibytecodec as mbc
90a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
100a8c90248264a8b26970b4473770bcc3df8515fJosh Gaocodec = _codecs_kr.getcodec('euc_kr')
110a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
120a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoclass Codec(codecs.Codec):
130a8c90248264a8b26970b4473770bcc3df8515fJosh Gao    encode = codec.encode
140a8c90248264a8b26970b4473770bcc3df8515fJosh Gao    decode = codec.decode
150a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
160a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
170a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                         codecs.IncrementalEncoder):
180a8c90248264a8b26970b4473770bcc3df8515fJosh Gao    codec = codec
190a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
200a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
210a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                         codecs.IncrementalDecoder):
220a8c90248264a8b26970b4473770bcc3df8515fJosh Gao    codec = codec
230a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
240a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoclass StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
250a8c90248264a8b26970b4473770bcc3df8515fJosh Gao    codec = codec
260a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
270a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoclass StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
280a8c90248264a8b26970b4473770bcc3df8515fJosh Gao    codec = codec
290a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
300a8c90248264a8b26970b4473770bcc3df8515fJosh Gaodef getregentry():
310a8c90248264a8b26970b4473770bcc3df8515fJosh Gao    return codecs.CodecInfo(
320a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        name='euc_kr',
330a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        encode=Codec().encode,
340a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        decode=Codec().decode,
350a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        incrementalencoder=IncrementalEncoder,
360a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        incrementaldecoder=IncrementalDecoder,
370a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        streamreader=StreamReader,
380a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        streamwriter=StreamWriter,
390a8c90248264a8b26970b4473770bcc3df8515fJosh Gao    )
40