summaryrefslogtreecommitdiff
path: root/Lib/encodings
diff options
context:
space:
mode:
authorHye-Shik Chang <hyeshik@gmail.com>2006-03-26 02:34:59 +0000
committerHye-Shik Chang <hyeshik@gmail.com>2006-03-26 02:34:59 +0000
commite2ac4abd016310b0ce1152ccf65666b98e33a76e (patch)
tree7e6e8423a0ee27770c0635196a2ccfada73b33f9 /Lib/encodings
parenta531e5b84c62e90ff0eaed1a61caf5d952409397 (diff)
downloadcpython-git-e2ac4abd016310b0ce1152ccf65666b98e33a76e.tar.gz
Patch #1443155: Add the incremental codecs support for CJK codecs.
(reviewed by Walter Dörwald)
Diffstat (limited to 'Lib/encodings')
-rw-r--r--Lib/encodings/big5.py38
-rw-r--r--Lib/encodings/big5hkscs.py38
-rw-r--r--Lib/encodings/cp932.py38
-rw-r--r--Lib/encodings/cp949.py38
-rw-r--r--Lib/encodings/cp950.py38
-rw-r--r--Lib/encodings/euc_jis_2004.py38
-rw-r--r--Lib/encodings/euc_jisx0213.py38
-rw-r--r--Lib/encodings/euc_jp.py38
-rw-r--r--Lib/encodings/euc_kr.py38
-rw-r--r--Lib/encodings/gb18030.py38
-rw-r--r--Lib/encodings/gb2312.py38
-rw-r--r--Lib/encodings/gbk.py38
-rw-r--r--Lib/encodings/hz.py38
-rw-r--r--Lib/encodings/iso2022_jp.py38
-rw-r--r--Lib/encodings/iso2022_jp_1.py38
-rw-r--r--Lib/encodings/iso2022_jp_2.py38
-rw-r--r--Lib/encodings/iso2022_jp_2004.py38
-rw-r--r--Lib/encodings/iso2022_jp_3.py38
-rw-r--r--Lib/encodings/iso2022_jp_ext.py38
-rw-r--r--Lib/encodings/iso2022_kr.py38
-rw-r--r--Lib/encodings/johab.py38
-rw-r--r--Lib/encodings/shift_jis.py38
-rw-r--r--Lib/encodings/shift_jis_2004.py38
-rw-r--r--Lib/encodings/shift_jisx0213.py38
24 files changed, 480 insertions, 432 deletions
diff --git a/Lib/encodings/big5.py b/Lib/encodings/big5.py
index d56aa1bea6..c864b683a6 100644
--- a/Lib/encodings/big5.py
+++ b/Lib/encodings/big5.py
@@ -2,10 +2,10 @@
# big5.py: Python Unicode Codec for BIG5
#
# Written by Hye-Shik Chang <perky@FreeBSD.org>
-# $CJKCodecs: big5.py,v 1.8 2004/06/28 18:16:03 perky Exp $
#
import _codecs_tw, codecs
+import _multibytecodec as mbc
codec = _codecs_tw.getcodec('big5')
@@ -13,22 +13,24 @@ class Codec(codecs.Codec):
encode = codec.encode
decode = codec.decode
-class StreamReader(Codec, codecs.StreamReader):
- def __init__(self, stream, errors='strict'):
- codecs.StreamReader.__init__(self, stream, errors)
- __codec = codec.StreamReader(stream, errors)
- self.read = __codec.read
- self.readline = __codec.readline
- self.readlines = __codec.readlines
- self.reset = __codec.reset
-
-class StreamWriter(Codec, codecs.StreamWriter):
- def __init__(self, stream, errors='strict'):
- codecs.StreamWriter.__init__(self, stream, errors)
- __codec = codec.StreamWriter(stream, errors)
- self.write = __codec.write
- self.writelines = __codec.writelines
- self.reset = __codec.reset
+class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
+ codecs.IncrementalEncoder):
+ codec = codec
+class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
+ codecs.IncrementalDecoder):
+ codec = codec
+class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
+ codec = codec
+class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
+ codec = codec
def getregentry():
- return (codec.encode, codec.decode, StreamReader, StreamWriter)
+ return codecs.CodecInfo(
+ name='big5',
+ encode=Codec().encode,
+ decode=Codec().decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )
diff --git a/Lib/encodings/big5hkscs.py b/Lib/encodings/big5hkscs.py
index 443997f463..9b812a2b83 100644
--- a/Lib/encodings/big5hkscs.py
+++ b/Lib/encodings/big5hkscs.py
@@ -2,10 +2,10 @@
# big5hkscs.py: Python Unicode Codec for BIG5HKSCS
#
# Written by Hye-Shik Chang <perky@FreeBSD.org>
-# $CJKCodecs: big5hkscs.py,v 1.1 2004/06/29 05:14:27 perky Exp $
#
import _codecs_hk, codecs
+import _multibytecodec as mbc
codec = _codecs_hk.getcodec('big5hkscs')
@@ -13,22 +13,24 @@ class Codec(codecs.Codec):
encode = codec.encode
decode = codec.decode
-class StreamReader(Codec, codecs.StreamReader):
- def __init__(self, stream, errors='strict'):
- codecs.StreamReader.__init__(self, stream, errors)
- __codec = codec.StreamReader(stream, errors)
- self.read = __codec.read
- self.readline = __codec.readline
- self.readlines = __codec.readlines
- self.reset = __codec.reset
-
-class StreamWriter(Codec, codecs.StreamWriter):
- def __init__(self, stream, errors='strict'):
- codecs.StreamWriter.__init__(self, stream, errors)
- __codec = codec.StreamWriter(stream, errors)
- self.write = __codec.write
- self.writelines = __codec.writelines
- self.reset = __codec.reset
+class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
+ codecs.IncrementalEncoder):
+ codec = codec
+class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
+ codecs.IncrementalDecoder):
+ codec = codec
+class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
+ codec = codec
+class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
+ codec = codec
def getregentry():
- return (codec.encode, codec.decode, StreamReader, StreamWriter)
+ return codecs.CodecInfo(
+ name='big5hkscs',
+ encode=Codec().encode,
+ decode=Codec().decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )
diff --git a/Lib/encodings/cp932.py b/Lib/encodings/cp932.py
index 38937f5811..54d6bb8919 100644
--- a/Lib/encodings/cp932.py
+++ b/Lib/encodings/cp932.py
@@ -2,10 +2,10 @@
# cp932.py: Python Unicode Codec for CP932
#
# Written by Hye-Shik Chang <perky@FreeBSD.org>
-# $CJKCodecs: cp932.py,v 1.8 2004/06/28 18:16:03 perky Exp $
#
import _codecs_jp, codecs
+import _multibytecodec as mbc
codec = _codecs_jp.getcodec('cp932')
@@ -13,22 +13,24 @@ class Codec(codecs.Codec):
encode = codec.encode
decode = codec.decode
-class StreamReader(Codec, codecs.StreamReader):
- def __init__(self, stream, errors='strict'):
- codecs.StreamReader.__init__(self, stream, errors)
- __codec = codec.StreamReader(stream, errors)
- self.read = __codec.read
- self.readline = __codec.readline
- self.readlines = __codec.readlines
- self.reset = __codec.reset
-
-class StreamWriter(Codec, codecs.StreamWriter):
- def __init__(self, stream, errors='strict'):
- codecs.StreamWriter.__init__(self, stream, errors)
- __codec = codec.StreamWriter(stream, errors)
- self.write = __codec.write
- self.writelines = __codec.writelines
- self.reset = __codec.reset
+class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
+ codecs.IncrementalEncoder):
+ codec = codec
+class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
+ codecs.IncrementalDecoder):
+ codec = codec
+class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
+ codec = codec
+class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
+ codec = codec
def getregentry():
- return (codec.encode, codec.decode, StreamReader, StreamWriter)
+ return codecs.CodecInfo(
+ name='cp932',
+ encode=Codec().encode,
+ decode=Codec().decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )
diff --git a/Lib/encodings/cp949.py b/Lib/encodings/cp949.py
index 0f3c847028..6012925967 100644
--- a/Lib/encodings/cp949.py
+++ b/Lib/encodings/cp949.py
@@ -2,10 +2,10 @@
# cp949.py: Python Unicode Codec for CP949
#
# Written by Hye-Shik Chang <perky@FreeBSD.org>
-# $CJKCodecs: cp949.py,v 1.8 2004/06/28 18:16:03 perky Exp $
#
import _codecs_kr, codecs
+import _multibytecodec as mbc
codec = _codecs_kr.getcodec('cp949')
@@ -13,22 +13,24 @@ class Codec(codecs.Codec):
encode = codec.encode
decode = codec.decode
-class StreamReader(Codec, codecs.StreamReader):
- def __init__(self, stream, errors='strict'):
- codecs.StreamReader.__init__(self, stream, errors)
- __codec = codec.StreamReader(stream, errors)
- self.read = __codec.read
- self.readline = __codec.readline
- self.readlines = __codec.readlines
- self.reset = __codec.reset
-
-class StreamWriter(Codec, codecs.StreamWriter):
- def __init__(self, stream, errors='strict'):
- codecs.StreamWriter.__init__(self, stream, errors)
- __codec = codec.StreamWriter(stream, errors)
- self.write = __codec.write
- self.writelines = __codec.writelines
- self.reset = __codec.reset
+class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
+ codecs.IncrementalEncoder):
+ codec = codec
+class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
+ codecs.IncrementalDecoder):
+ codec = codec
+class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
+ codec = codec
+class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
+ codec = codec
def getregentry():
- return (codec.encode, codec.decode, StreamReader, StreamWriter)
+ return codecs.CodecInfo(
+ name='cp949',
+ encode=Codec().encode,
+ decode=Codec().decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )
diff --git a/Lib/encodings/cp950.py b/Lib/encodings/cp950.py
index dab3e289b9..b6517d9d43 100644
--- a/Lib/encodings/cp950.py
+++ b/Lib/encodings/cp950.py
@@ -2,10 +2,10 @@
# cp950.py: Python Unicode Codec for CP950
#
# Written by Hye-Shik Chang <perky@FreeBSD.org>
-# $CJKCodecs: cp950.py,v 1.8 2004/06/28 18:16:03 perky Exp $
#
import _codecs_tw, codecs
+import _multibytecodec as mbc
codec = _codecs_tw.getcodec('cp950')
@@ -13,22 +13,24 @@ class Codec(codecs.Codec):
encode = codec.encode
decode = codec.decode
-class StreamReader(Codec, codecs.StreamReader):
- def __init__(self, stream, errors='strict'):
- codecs.StreamReader.__init__(self, stream, errors)
- __codec = codec.StreamReader(stream, errors)
- self.read = __codec.read
- self.readline = __codec.readline
- self.readlines = __codec.readlines
- self.reset = __codec.reset
-
-class StreamWriter(Codec, codecs.StreamWriter):
- def __init__(self, stream, errors='strict'):
- codecs.StreamWriter.__init__(self, stream, errors)
- __codec = codec.StreamWriter(stream, errors)
- self.write = __codec.write
- self.writelines = __codec.writelines
- self.reset = __codec.reset
+class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
+ codecs.IncrementalEncoder):
+ codec = codec
+class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
+ codecs.IncrementalDecoder):
+ codec = codec
+class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
+ codec = codec
+class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
+ codec = codec
def getregentry():
- return (codec.encode, codec.decode, StreamReader, StreamWriter)
+ return codecs.CodecInfo(
+ name='cp950',
+ encode=Codec().encode,
+ decode=Codec().decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )
diff --git a/Lib/encodings/euc_jis_2004.py b/Lib/encodings/euc_jis_2004.py
index 02d55ca0c4..88e605a871 100644
--- a/Lib/encodings/euc_jis_2004.py
+++ b/Lib/encodings/euc_jis_2004.py
@@ -2,10 +2,10 @@
# euc_jis_2004.py: Python Unicode Codec for EUC_JIS_2004
#
# Written by Hye-Shik Chang <perky@FreeBSD.org>
-# $CJKCodecs: euc_jis_2004.py,v 1.1 2004/07/07 16:18:25 perky Exp $
#
import _codecs_jp, codecs
+import _multibytecodec as mbc
codec = _codecs_jp.getcodec('euc_jis_2004')
@@ -13,22 +13,24 @@ class Codec(codecs.Codec):
encode = codec.encode
decode = codec.decode
-class StreamReader(Codec, codecs.StreamReader):
- def __init__(self, stream, errors='strict'):
- codecs.StreamReader.__init__(self, stream, errors)
- __codec = codec.StreamReader(stream, errors)
- self.read = __codec.read
- self.readline = __codec.readline
- self.readlines = __codec.readlines
- self.reset = __codec.reset
-
-class StreamWriter(Codec, codecs.StreamWriter):
- def __init__(self, stream, errors='strict'):
- codecs.StreamWriter.__init__(self, stream, errors)
- __codec = codec.StreamWriter(stream, errors)
- self.write = __codec.write
- self.writelines = __codec.writelines
- self.reset = __codec.reset
+class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
+ codecs.IncrementalEncoder):
+ codec = codec
+class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
+ codecs.IncrementalDecoder):
+ codec = codec
+class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
+ codec = codec
+class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
+ codec = codec
def getregentry():
- return (codec.encode, codec.decode, StreamReader, StreamWriter)
+ return codecs.CodecInfo(
+ name='euc_jis_2004',
+ encode=Codec().encode,
+ decode=Codec().decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )
diff --git a/Lib/encodings/euc_jisx0213.py b/Lib/encodings/euc_jisx0213.py
index 30f173e0ac..10d4b31b13 100644
--- a/Lib/encodings/euc_jisx0213.py
+++ b/Lib/encodings/euc_jisx0213.py
@@ -2,10 +2,10 @@
# euc_jisx0213.py: Python Unicode Codec for EUC_JISX0213
#
# Written by Hye-Shik Chang <perky@FreeBSD.org>
-# $CJKCodecs: euc_jisx0213.py,v 1.8 2004/06/28 18:16:03 perky Exp $
#
import _codecs_jp, codecs
+import _multibytecodec as mbc
codec = _codecs_jp.getcodec('euc_jisx0213')
@@ -13,22 +13,24 @@ class Codec(codecs.Codec):
encode = codec.encode
decode = codec.decode
-class StreamReader(Codec, codecs.StreamReader):
- def __init__(self, stream, errors='strict'):
- codecs.StreamReader.__init__(self, stream, errors)
- __codec = codec.StreamReader(stream, errors)
- self.read = __codec.read
- self.readline = __codec.readline
- self.readlines = __codec.readlines
- self.reset = __codec.reset
-
-class StreamWriter(Codec, codecs.StreamWriter):
- def __init__(self, stream, errors='strict'):
- codecs.StreamWriter.__init__(self, stream, errors)
- __codec = codec.StreamWriter(stream, errors)
- self.write = __codec.write
- self.writelines = __codec.writelines
- self.reset = __codec.reset
+class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
+ codecs.IncrementalEncoder):
+ codec = codec
+class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
+ codecs.IncrementalDecoder):
+ codec = codec
+class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
+ codec = codec
+class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
+ codec = codec
def getregentry():
- return (codec.encode, codec.decode, StreamReader, StreamWriter)
+ return codecs.CodecInfo(
+ name='euc_jisx0213',
+ encode=Codec().encode,
+ decode=Codec().decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )
diff --git a/Lib/encodings/euc_jp.py b/Lib/encodings/euc_jp.py
index a3947a3044..4dc0b9b4c8 100644
--- a/Lib/encodings/euc_jp.py
+++ b/Lib/encodings/euc_jp.py
@@ -2,10 +2,10 @@
# euc_jp.py: Python Unicode Codec for EUC_JP
#
# Written by Hye-Shik Chang <perky@FreeBSD.org>
-# $CJKCodecs: euc_jp.py,v 1.8 2004/06/28 18:16:03 perky Exp $
#
import _codecs_jp, codecs
+import _multibytecodec as mbc
codec = _codecs_jp.getcodec('euc_jp')
@@ -13,22 +13,24 @@ class Codec(codecs.Codec):
encode = codec.encode
decode = codec.decode
-class StreamReader(Codec, codecs.StreamReader):
- def __init__(self, stream, errors='strict'):
- codecs.StreamReader.__init__(self, stream, errors)
- __codec = codec.StreamReader(stream, errors)
- self.read = __codec.read
- self.readline = __codec.readline
- self.readlines = __codec.readlines
- self.reset = __codec.reset
-
-class StreamWriter(Codec, codecs.StreamWriter):
- def __init__(self, stream, errors='strict'):
- codecs.StreamWriter.__init__(self, stream, errors)
- __codec = codec.StreamWriter(stream, errors)
- self.write = __codec.write
- self.writelines = __codec.writelines
- self.reset = __codec.reset
+class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
+ codecs.IncrementalEncoder):
+ codec = codec
+class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
+ codecs.IncrementalDecoder):
+ codec = codec
+class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
+ codec = codec
+class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
+ codec = codec
def getregentry():
- return (codec.encode, codec.decode, StreamReader, StreamWriter)
+ return codecs.CodecInfo(
+ name='euc_jp',
+ encode=Codec().encode,
+ decode=Codec().decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )
diff --git a/Lib/encodings/euc_kr.py b/Lib/encodings/euc_kr.py
index bbebee8c84..30716f389f 100644
--- a/Lib/encodings/euc_kr.py
+++ b/Lib/encodings/euc_kr.py
@@ -2,10 +2,10 @@
# euc_kr.py: Python Unicode Codec for EUC_KR
#
# Written by Hye-Shik Chang <perky@FreeBSD.org>
-# $CJKCodecs: euc_kr.py,v 1.8 2004/06/28 18:16:03 perky Exp $
#
import _codecs_kr, codecs
+import _multibytecodec as mbc
codec = _codecs_kr.getcodec('euc_kr')
@@ -13,22 +13,24 @@ class Codec(codecs.Codec):
encode = codec.encode
decode = codec.decode
-class StreamReader(Codec, codecs.StreamReader):
- def __init__(self, stream, errors='strict'):
- codecs.StreamReader.__init__(self, stream, errors)
- __codec = codec.StreamReader(stream, errors)
- self.read = __codec.read
- self.readline = __codec.readline
- self.readlines = __codec.readlines
- self.reset = __codec.reset
-
-class StreamWriter(Codec, codecs.StreamWriter):
- def __init__(self, stream, errors='strict'):
- codecs.StreamWriter.__init__(self, stream, errors)
- __codec = codec.StreamWriter(stream, errors)
- self.write = __codec.write
- self.writelines = __codec.writelines
- self.reset = __codec.reset
+class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
+ codecs.IncrementalEncoder):
+ codec = codec
+class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
+ codecs.IncrementalDecoder):
+ codec = codec
+class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
+ codec = codec
+class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
+ codec = codec
def getregentry():
- return (codec.encode, codec.decode, StreamReader, StreamWriter)
+ return codecs.CodecInfo(
+ name='euc_kr',
+ encode=Codec().encode,
+ decode=Codec().decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )
diff --git a/Lib/encodings/gb18030.py b/Lib/encodings/gb18030.py
index 7eca3192f8..e685cf6c1e 100644
--- a/Lib/encodings/gb18030.py
+++ b/Lib/encodings/gb18030.py
@@ -2,10 +2,10 @@
# gb18030.py: Python Unicode Codec for GB18030
#
# Written by Hye-Shik Chang <perky@FreeBSD.org>
-# $CJKCodecs: gb18030.py,v 1.8 2004/06/28 18:16:03 perky Exp $
#
import _codecs_cn, codecs
+import _multibytecodec as mbc
codec = _codecs_cn.getcodec('gb18030')
@@ -13,22 +13,24 @@ class Codec(codecs.Codec):
encode = codec.encode
decode = codec.decode
-class StreamReader(Codec, codecs.StreamReader):
- def __init__(self, stream, errors='strict'):
- codecs.StreamReader.__init__(self, stream, errors)
- __codec = codec.StreamReader(stream, errors)
- self.read = __codec.read
- self.readline = __codec.readline
- self.readlines = __codec.readlines
- self.reset = __codec.reset
-
-class StreamWriter(Codec, codecs.StreamWriter):
- def __init__(self, stream, errors='strict'):
- codecs.StreamWriter.__init__(self, stream, errors)
- __codec = codec.StreamWriter(stream, errors)
- self.write = __codec.write
- self.writelines = __codec.writelines
- self.reset = __codec.reset
+class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
+ codecs.IncrementalEncoder):
+ codec = codec
+class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
+ codecs.IncrementalDecoder):
+ codec = codec
+class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
+ codec = codec
+class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
+ codec = codec
def getregentry():
- return (codec.encode, codec.decode, StreamReader, StreamWriter)
+ return codecs.CodecInfo(
+ name='gb18030',
+ encode=Codec().encode,
+ decode=Codec().decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )
diff --git a/Lib/encodings/gb2312.py b/Lib/encodings/gb2312.py
index 5130efa1ab..e99bf1d5c1 100644
--- a/Lib/encodings/gb2312.py
+++ b/Lib/encodings/gb2312.py
@@ -2,10 +2,10 @@
# gb2312.py: Python Unicode Codec for GB2312
#
# Written by Hye-Shik Chang <perky@FreeBSD.org>
-# $CJKCodecs: gb2312.py,v 1.8 2004/06/28 18:16:03 perky Exp $
#
import _codecs_cn, codecs
+import _multibytecodec as mbc
codec = _codecs_cn.getcodec('gb2312')
@@ -13,22 +13,24 @@ class Codec(codecs.Codec):
encode = codec.encode
decode = codec.decode
-class StreamReader(Codec, codecs.StreamReader):
- def __init__(self, stream, errors='strict'):
- codecs.StreamReader.__init__(self, stream, errors)
- __codec = codec.StreamReader(stream, errors)
- self.read = __codec.read
- self.readline = __codec.readline
- self.readlines = __codec.readlines
- self.reset = __codec.reset
-
-class StreamWriter(Codec, codecs.StreamWriter):
- def __init__(self, stream, errors='strict'):
- codecs.StreamWriter.__init__(self, stream, errors)
- __codec = codec.StreamWriter(stream, errors)
- self.write = __codec.write
- self.writelines = __codec.writelines
- self.reset = __codec.reset
+class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
+ codecs.IncrementalEncoder):
+ codec = codec
+class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
+ codecs.IncrementalDecoder):
+ codec = codec
+class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
+ codec = codec
+class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
+ codec = codec
def getregentry():
- return (codec.encode, codec.decode, StreamReader, StreamWriter)
+ return codecs.CodecInfo(
+ name='gb2312',
+ encode=Codec().encode,
+ decode=Codec().decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )
diff --git a/Lib/encodings/gbk.py b/Lib/encodings/gbk.py
index 67854bcdc8..09123aeb1a 100644
--- a/Lib/encodings/gbk.py
+++ b/Lib/encodings/gbk.py
@@ -2,10 +2,10 @@
# gbk.py: Python Unicode Codec for GBK
#
# Written by Hye-Shik Chang <perky@FreeBSD.org>
-# $CJKCodecs: gbk.py,v 1.8 2004/06/28 18:16:03 perky Exp $
#
import _codecs_cn, codecs
+import _multibytecodec as mbc
codec = _codecs_cn.getcodec('gbk')
@@ -13,22 +13,24 @@ class Codec(codecs.Codec):
encode = codec.encode
decode = codec.decode
-class StreamReader(Codec, codecs.StreamReader):
- def __init__(self, stream, errors='strict'):
- codecs.StreamReader.__init__(self, stream, errors)
- __codec = codec.StreamReader(stream, errors)
- self.read = __codec.read
- self.readline = __codec.readline
- self.readlines = __codec.readlines
- self.reset = __codec.reset
-
-class StreamWriter(Codec, codecs.StreamWriter):
- def __init__(self, stream, errors='strict'):
- codecs.StreamWriter.__init__(self, stream, errors)
- __codec = codec.StreamWriter(stream, errors)
- self.write = __codec.write
- self.writelines = __codec.writelines
- self.reset = __codec.reset
+class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
+ codecs.IncrementalEncoder):
+ codec = codec
+class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
+ codecs.IncrementalDecoder):
+ codec = codec
+class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
+ codec = codec
+class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
+ codec = codec
def getregentry():
- return (codec.encode, codec.decode, StreamReader, StreamWriter)
+ return codecs.CodecInfo(
+ name='gbk',
+ encode=Codec().encode,
+ decode=Codec().decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )
diff --git a/Lib/encodings/hz.py b/Lib/encodings/hz.py
index 3940894bc0..06f7d2f4c8 100644
--- a/Lib/encodings/hz.py
+++ b/Lib/encodings/hz.py
@@ -2,10 +2,10 @@
# hz.py: Python Unicode Codec for HZ
#
# Written by Hye-Shik Chang <perky@FreeBSD.org>
-# $CJKCodecs: hz.py,v 1.8 2004/06/28 18:16:03 perky Exp $
#
import _codecs_cn, codecs
+import _multibytecodec as mbc
codec = _codecs_cn.getcodec('hz')
@@ -13,22 +13,24 @@ class Codec(codecs.Codec):
encode = codec.encode
decode = codec.decode
-class StreamReader(Codec, codecs.StreamReader):
- def __init__(self, stream, errors='strict'):
- codecs.StreamReader.__init__(self, stream, errors)
- __codec = codec.StreamReader(stream, errors)
- self.read = __codec.read
- self.readline = __codec.readline
- self.readlines = __codec.readlines
- self.reset = __codec.reset
-
-class StreamWriter(Codec, codecs.StreamWriter):
- def __init__(self, stream, errors='strict'):
- codecs.StreamWriter.__init__(self, stream, errors)
- __codec = codec.StreamWriter(stream, errors)
- self.write = __codec.write
- self.writelines = __codec.writelines
- self.reset = __codec.reset
+class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
+ codecs.IncrementalEncoder):
+ codec = codec
+class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
+ codecs.IncrementalDecoder):
+ codec = codec
+class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
+ codec = codec
+class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
+ codec = codec
def getregentry():
- return (codec.encode, codec.decode, StreamReader, StreamWriter)
+ return codecs.CodecInfo(
+ name='hz',
+ encode=Codec().encode,
+ decode=Codec().decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )
diff --git a/Lib/encodings/iso2022_jp.py b/Lib/encodings/iso2022_jp.py
index 109658b830..fb04159652 100644
--- a/Lib/encodings/iso2022_jp.py
+++ b/Lib/encodings/iso2022_jp.py
@@ -2,10 +2,10 @@
# iso2022_jp.py: Python Unicode Codec for ISO2022_JP
#
# Written by Hye-Shik Chang <perky@FreeBSD.org>
-# $CJKCodecs: iso2022_jp.py,v 1.2 2004/06/28 18:16:03 perky Exp $
#
import _codecs_iso2022, codecs
+import _multibytecodec as mbc
codec = _codecs_iso2022.getcodec('iso2022_jp')
@@ -13,22 +13,24 @@ class Codec(codecs.Codec):
encode = codec.encode
decode = codec.decode
-class StreamReader(Codec, codecs.StreamReader):
- def __init__(self, stream, errors='strict'):
- codecs.StreamReader.__init__(self, stream, errors)
- __codec = codec.StreamReader(stream, errors)
- self.read = __codec.read
- self.readline = __codec.readline
- self.readlines = __codec.readlines
- self.reset = __codec.reset
-
-class StreamWriter(Codec, codecs.StreamWriter):
- def __init__(self, stream, errors='strict'):
- codecs.StreamWriter.__init__(self, stream, errors)
- __codec = codec.StreamWriter(stream, errors)
- self.write = __codec.write
- self.writelines = __codec.writelines
- self.reset = __codec.reset
+class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
+ codecs.IncrementalEncoder):
+ codec = codec
+class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
+ codecs.IncrementalDecoder):
+ codec = codec
+class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
+ codec = codec
+class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
+ codec = codec
def getregentry():
- return (codec.encode, codec.decode, StreamReader, StreamWriter)
+ return codecs.CodecInfo(
+ name='iso2022_jp',
+ encode=Codec().encode,
+ decode=Codec().decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )
diff --git a/Lib/encodings/iso2022_jp_1.py b/Lib/encodings/iso2022_jp_1.py
index 201bd28910..fde51c2f02 100644
--- a/Lib/encodings/iso2022_jp_1.py
+++ b/Lib/encodings/iso2022_jp_1.py
@@ -2,10 +2,10 @@
# iso2022_jp_1.py: Python Unicode Codec for ISO2022_JP_1
#
# Written by Hye-Shik Chang <perky@FreeBSD.org>
-# $CJKCodecs: iso2022_jp_1.py,v 1.2 2004/06/28 18:16:03 perky Exp $
#
import _codecs_iso2022, codecs
+import _multibytecodec as mbc
codec = _codecs_iso2022.getcodec('iso2022_jp_1')
@@ -13,22 +13,24 @@ class Codec(codecs.Codec):
encode = codec.encode
decode = codec.decode
-class StreamReader(Codec, codecs.StreamReader):
- def __init__(self, stream, errors='strict'):
- codecs.StreamReader.__init__(self, stream, errors)
- __codec = codec.StreamReader(stream, errors)
- self.read = __codec.read
- self.readline = __codec.readline
- self.readlines = __codec.readlines
- self.reset = __codec.reset
-
-class StreamWriter(Codec, codecs.StreamWriter):
- def __init__(self, stream, errors='strict'):
- codecs.StreamWriter.__init__(self, stream, errors)
- __codec = codec.StreamWriter(stream, errors)
- self.write = __codec.write
- self.writelines = __codec.writelines
- self.reset = __codec.reset
+class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
+ codecs.IncrementalEncoder):
+ codec = codec
+class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
+ codecs.IncrementalDecoder):
+ codec = codec
+class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
+ codec = codec
+class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
+ codec = codec
def getregentry():
- return (codec.encode, codec.decode, StreamReader, StreamWriter)
+ return codecs.CodecInfo(
+ name='iso2022_jp_1',
+ encode=Codec().encode,
+ decode=Codec().decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )
diff --git a/Lib/encodings/iso2022_jp_2.py b/Lib/encodings/iso2022_jp_2.py
index 7a610180b1..766ab46c7d 100644
--- a/Lib/encodings/iso2022_jp_2.py
+++ b/Lib/encodings/iso2022_jp_2.py
@@ -2,10 +2,10 @@
# iso2022_jp_2.py: Python Unicode Codec for ISO2022_JP_2
#
# Written by Hye-Shik Chang <perky@FreeBSD.org>
-# $CJKCodecs: iso2022_jp_2.py,v 1.2 2004/06/28 18:16:03 perky Exp $
#
import _codecs_iso2022, codecs
+import _multibytecodec as mbc
codec = _codecs_iso2022.getcodec('iso2022_jp_2')
@@ -13,22 +13,24 @@ class Codec(codecs.Codec):
encode = codec.encode
decode = codec.decode
-class StreamReader(Codec, codecs.StreamReader):
- def __init__(self, stream, errors='strict'):
- codecs.StreamReader.__init__(self, stream, errors)
- __codec = codec.StreamReader(stream, errors)
- self.read = __codec.read
- self.readline = __codec.readline
- self.readlines = __codec.readlines
- self.reset = __codec.reset
-
-class StreamWriter(Codec, codecs.StreamWriter):
- def __init__(self, stream, errors='strict'):
- codecs.StreamWriter.__init__(self, stream, errors)
- __codec = codec.StreamWriter(stream, errors)
- self.write = __codec.write
- self.writelines = __codec.writelines
- self.reset = __codec.reset
+class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
+ codecs.IncrementalEncoder):
+ codec = codec
+class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
+ codecs.IncrementalDecoder):
+ codec = codec
+class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
+ codec = codec
+class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
+ codec = codec
def getregentry():
- return (codec.encode, codec.decode, StreamReader, StreamWriter)
+ return codecs.CodecInfo(
+ name='iso2022_jp_2',
+ encode=Codec().encode,
+ decode=Codec().decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )
diff --git a/Lib/encodings/iso2022_jp_2004.py b/Lib/encodings/iso2022_jp_2004.py
index 249712471b..236ab4e5a4 100644
--- a/Lib/encodings/iso2022_jp_2004.py
+++ b/Lib/encodings/iso2022_jp_2004.py
@@ -2,10 +2,10 @@
# iso2022_jp_2004.py: Python Unicode Codec for ISO2022_JP_2004
#
# Written by Hye-Shik Chang <perky@FreeBSD.org>
-# $CJKCodecs: iso2022_jp_2004.py,v 1.1 2004/07/07 16:18:25 perky Exp $
#
import _codecs_iso2022, codecs
+import _multibytecodec as mbc
codec = _codecs_iso2022.getcodec('iso2022_jp_2004')
@@ -13,22 +13,24 @@ class Codec(codecs.Codec):
encode = codec.encode
decode = codec.decode
-class StreamReader(Codec, codecs.StreamReader):
- def __init__(self, stream, errors='strict'):
- codecs.StreamReader.__init__(self, stream, errors)
- __codec = codec.StreamReader(stream, errors)
- self.read = __codec.read
- self.readline = __codec.readline
- self.readlines = __codec.readlines
- self.reset = __codec.reset
-
-class StreamWriter(Codec, codecs.StreamWriter):
- def __init__(self, stream, errors='strict'):
- codecs.StreamWriter.__init__(self, stream, errors)
- __codec = codec.StreamWriter(stream, errors)
- self.write = __codec.write
- self.writelines = __codec.writelines
- self.reset = __codec.reset
+class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
+ codecs.IncrementalEncoder):
+ codec = codec
+class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
+ codecs.IncrementalDecoder):
+ codec = codec
+class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
+ codec = codec
+class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
+ codec = codec
def getregentry():
- return (codec.encode, codec.decode, StreamReader, StreamWriter)
+ return codecs.CodecInfo(
+ name='iso2022_jp_2004',
+ encode=Codec().encode,
+ decode=Codec().decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )
diff --git a/Lib/encodings/iso2022_jp_3.py b/Lib/encodings/iso2022_jp_3.py
index 8b2ed00280..e3cf950439 100644
--- a/Lib/encodings/iso2022_jp_3.py
+++ b/Lib/encodings/iso2022_jp_3.py
@@ -2,10 +2,10 @@
# iso2022_jp_3.py: Python Unicode Codec for ISO2022_JP_3
#
# Written by Hye-Shik Chang <perky@FreeBSD.org>
-# $CJKCodecs: iso2022_jp_3.py,v 1.2 2004/06/28 18:16:03 perky Exp $
#
import _codecs_iso2022, codecs
+import _multibytecodec as mbc
codec = _codecs_iso2022.getcodec('iso2022_jp_3')
@@ -13,22 +13,24 @@ class Codec(codecs.Codec):
encode = codec.encode
decode = codec.decode
-class StreamReader(Codec, codecs.StreamReader):
- def __init__(self, stream, errors='strict'):
- codecs.StreamReader.__init__(self, stream, errors)
- __codec = codec.StreamReader(stream, errors)
- self.read = __codec.read
- self.readline = __codec.readline
- self.readlines = __codec.readlines
- self.reset = __codec.reset
-
-class StreamWriter(Codec, codecs.StreamWriter):
- def __init__(self, stream, errors='strict'):
- codecs.StreamWriter.__init__(self, stream, errors)
- __codec = codec.StreamWriter(stream, errors)
- self.write = __codec.write
- self.writelines = __codec.writelines
- self.reset = __codec.reset
+class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
+ codecs.IncrementalEncoder):
+ codec = codec
+class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
+ codecs.IncrementalDecoder):
+ codec = codec
+class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
+ codec = codec
+class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
+ codec = codec
def getregentry():
- return (codec.encode, codec.decode, StreamReader, StreamWriter)
+ return codecs.CodecInfo(
+ name='iso2022_jp_3',
+ encode=Codec().encode,
+ decode=Codec().decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )
diff --git a/Lib/encodings/iso2022_jp_ext.py b/Lib/encodings/iso2022_jp_ext.py
index 97cb4e7208..89d35b5d11 100644
--- a/Lib/encodings/iso2022_jp_ext.py
+++ b/Lib/encodings/iso2022_jp_ext.py
@@ -2,10 +2,10 @@
# iso2022_jp_ext.py: Python Unicode Codec for ISO2022_JP_EXT
#
# Written by Hye-Shik Chang <perky@FreeBSD.org>
-# $CJKCodecs: iso2022_jp_ext.py,v 1.2 2004/06/28 18:16:03 perky Exp $
#
import _codecs_iso2022, codecs
+import _multibytecodec as mbc
codec = _codecs_iso2022.getcodec('iso2022_jp_ext')
@@ -13,22 +13,24 @@ class Codec(codecs.Codec):
encode = codec.encode
decode = codec.decode
-class StreamReader(Codec, codecs.StreamReader):
- def __init__(self, stream, errors='strict'):
- codecs.StreamReader.__init__(self, stream, errors)
- __codec = codec.StreamReader(stream, errors)
- self.read = __codec.read
- self.readline = __codec.readline
- self.readlines = __codec.readlines
- self.reset = __codec.reset
-
-class StreamWriter(Codec, codecs.StreamWriter):
- def __init__(self, stream, errors='strict'):
- codecs.StreamWriter.__init__(self, stream, errors)
- __codec = codec.StreamWriter(stream, errors)
- self.write = __codec.write
- self.writelines = __codec.writelines
- self.reset = __codec.reset
+class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
+ codecs.IncrementalEncoder):
+ codec = codec
+class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
+ codecs.IncrementalDecoder):
+ codec = codec
+class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
+ codec = codec
+class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
+ codec = codec
def getregentry():
- return (codec.encode, codec.decode, StreamReader, StreamWriter)
+ return codecs.CodecInfo(
+ name='iso2022_jp_ext',
+ encode=Codec().encode,
+ decode=Codec().decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )
diff --git a/Lib/encodings/iso2022_kr.py b/Lib/encodings/iso2022_kr.py
index f5549ca644..41f7ce0d9d 100644
--- a/Lib/encodings/iso2022_kr.py
+++ b/Lib/encodings/iso2022_kr.py
@@ -2,10 +2,10 @@
# iso2022_kr.py: Python Unicode Codec for ISO2022_KR
#
# Written by Hye-Shik Chang <perky@FreeBSD.org>
-# $CJKCodecs: iso2022_kr.py,v 1.2 2004/06/28 18:16:03 perky Exp $
#
import _codecs_iso2022, codecs
+import _multibytecodec as mbc
codec = _codecs_iso2022.getcodec('iso2022_kr')
@@ -13,22 +13,24 @@ class Codec(codecs.Codec):
encode = codec.encode
decode = codec.decode
-class StreamReader(Codec, codecs.StreamReader):
- def __init__(self, stream, errors='strict'):
- codecs.StreamReader.__init__(self, stream, errors)
- __codec = codec.StreamReader(stream, errors)
- self.read = __codec.read
- self.readline = __codec.readline
- self.readlines = __codec.readlines
- self.reset = __codec.reset
-
-class StreamWriter(Codec, codecs.StreamWriter):
- def __init__(self, stream, errors='strict'):
- codecs.StreamWriter.__init__(self, stream, errors)
- __codec = codec.StreamWriter(stream, errors)
- self.write = __codec.write
- self.writelines = __codec.writelines
- self.reset = __codec.reset
+class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
+ codecs.IncrementalEncoder):
+ codec = codec
+class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
+ codecs.IncrementalDecoder):
+ codec = codec
+class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
+ codec = codec
+class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
+ codec = codec
def getregentry():
- return (codec.encode, codec.decode, StreamReader, StreamWriter)
+ return codecs.CodecInfo(
+ name='iso2022_kr',
+ encode=Codec().encode,
+ decode=Codec().decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )
diff --git a/Lib/encodings/johab.py b/Lib/encodings/johab.py
index b6a87d7481..6a2c9931b0 100644
--- a/Lib/encodings/johab.py
+++ b/Lib/encodings/johab.py
@@ -2,10 +2,10 @@
# johab.py: Python Unicode Codec for JOHAB
#
# Written by Hye-Shik Chang <perky@FreeBSD.org>
-# $CJKCodecs: johab.py,v 1.8 2004/06/28 18:16:03 perky Exp $
#
import _codecs_kr, codecs
+import _multibytecodec as mbc
codec = _codecs_kr.getcodec('johab')
@@ -13,22 +13,24 @@ class Codec(codecs.Codec):
encode = codec.encode
decode = codec.decode
-class StreamReader(Codec, codecs.StreamReader):
- def __init__(self, stream, errors='strict'):
- codecs.StreamReader.__init__(self, stream, errors)
- __codec = codec.StreamReader(stream, errors)
- self.read = __codec.read
- self.readline = __codec.readline
- self.readlines = __codec.readlines
- self.reset = __codec.reset
-
-class StreamWriter(Codec, codecs.StreamWriter):
- def __init__(self, stream, errors='strict'):
- codecs.StreamWriter.__init__(self, stream, errors)
- __codec = codec.StreamWriter(stream, errors)
- self.write = __codec.write
- self.writelines = __codec.writelines
- self.reset = __codec.reset
+class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
+ codecs.IncrementalEncoder):
+ codec = codec
+class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
+ codecs.IncrementalDecoder):
+ codec = codec
+class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
+ codec = codec
+class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
+ codec = codec
def getregentry():
- return (codec.encode, codec.decode, StreamReader, StreamWriter)
+ return codecs.CodecInfo(
+ name='johab',
+ encode=Codec().encode,
+ decode=Codec().decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )
diff --git a/Lib/encodings/shift_jis.py b/Lib/encodings/shift_jis.py
index ec5e51755a..b1f77fc345 100644
--- a/Lib/encodings/shift_jis.py
+++ b/Lib/encodings/shift_jis.py
@@ -2,10 +2,10 @@
# shift_jis.py: Python Unicode Codec for SHIFT_JIS
#
# Written by Hye-Shik Chang <perky@FreeBSD.org>
-# $CJKCodecs: shift_jis.py,v 1.8 2004/06/28 18:16:03 perky Exp $
#
import _codecs_jp, codecs
+import _multibytecodec as mbc
codec = _codecs_jp.getcodec('shift_jis')
@@ -13,22 +13,24 @@ class Codec(codecs.Codec):
encode = codec.encode
decode = codec.decode
-class StreamReader(Codec, codecs.StreamReader):
- def __init__(self, stream, errors='strict'):
- codecs.StreamReader.__init__(self, stream, errors)
- __codec = codec.StreamReader(stream, errors)
- self.read = __codec.read
- self.readline = __codec.readline
- self.readlines = __codec.readlines
- self.reset = __codec.reset
-
-class StreamWriter(Codec, codecs.StreamWriter):
- def __init__(self, stream, errors='strict'):
- codecs.StreamWriter.__init__(self, stream, errors)
- __codec = codec.StreamWriter(stream, errors)
- self.write = __codec.write
- self.writelines = __codec.writelines
- self.reset = __codec.reset
+class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
+ codecs.IncrementalEncoder):
+ codec = codec
+class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
+ codecs.IncrementalDecoder):
+ codec = codec
+class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
+ codec = codec
+class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
+ codec = codec
def getregentry():
- return (codec.encode, codec.decode, StreamReader, StreamWriter)
+ return codecs.CodecInfo(
+ name='shift_jis',
+ encode=Codec().encode,
+ decode=Codec().decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )
diff --git a/Lib/encodings/shift_jis_2004.py b/Lib/encodings/shift_jis_2004.py
index 446cd7cce7..6078a5266e 100644
--- a/Lib/encodings/shift_jis_2004.py
+++ b/Lib/encodings/shift_jis_2004.py
@@ -2,10 +2,10 @@
# shift_jis_2004.py: Python Unicode Codec for SHIFT_JIS_2004
#
# Written by Hye-Shik Chang <perky@FreeBSD.org>
-# $CJKCodecs: shift_jis_2004.py,v 1.1 2004/07/07 16:18:25 perky Exp $
#
import _codecs_jp, codecs
+import _multibytecodec as mbc
codec = _codecs_jp.getcodec('shift_jis_2004')
@@ -13,22 +13,24 @@ class Codec(codecs.Codec):
encode = codec.encode
decode = codec.decode
-class StreamReader(Codec, codecs.StreamReader):
- def __init__(self, stream, errors='strict'):
- codecs.StreamReader.__init__(self, stream, errors)
- __codec = codec.StreamReader(stream, errors)
- self.read = __codec.read
- self.readline = __codec.readline
- self.readlines = __codec.readlines
- self.reset = __codec.reset
-
-class StreamWriter(Codec, codecs.StreamWriter):
- def __init__(self, stream, errors='strict'):
- codecs.StreamWriter.__init__(self, stream, errors)
- __codec = codec.StreamWriter(stream, errors)
- self.write = __codec.write
- self.writelines = __codec.writelines
- self.reset = __codec.reset
+class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
+ codecs.IncrementalEncoder):
+ codec = codec
+class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
+ codecs.IncrementalDecoder):
+ codec = codec
+class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
+ codec = codec
+class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
+ codec = codec
def getregentry():
- return (codec.encode, codec.decode, StreamReader, StreamWriter)
+ return codecs.CodecInfo(
+ name='shift_jis_2004',
+ encode=Codec().encode,
+ decode=Codec().decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )
diff --git a/Lib/encodings/shift_jisx0213.py b/Lib/encodings/shift_jisx0213.py
index 495468b6f7..5a0f24c14e 100644
--- a/Lib/encodings/shift_jisx0213.py
+++ b/Lib/encodings/shift_jisx0213.py
@@ -2,10 +2,10 @@
# shift_jisx0213.py: Python Unicode Codec for SHIFT_JISX0213
#
# Written by Hye-Shik Chang <perky@FreeBSD.org>
-# $CJKCodecs: shift_jisx0213.py,v 1.8 2004/06/28 18:16:03 perky Exp $
#
import _codecs_jp, codecs
+import _multibytecodec as mbc
codec = _codecs_jp.getcodec('shift_jisx0213')
@@ -13,22 +13,24 @@ class Codec(codecs.Codec):
encode = codec.encode
decode = codec.decode
-class StreamReader(Codec, codecs.StreamReader):
- def __init__(self, stream, errors='strict'):
- codecs.StreamReader.__init__(self, stream, errors)
- __codec = codec.StreamReader(stream, errors)
- self.read = __codec.read
- self.readline = __codec.readline
- self.readlines = __codec.readlines
- self.reset = __codec.reset
-
-class StreamWriter(Codec, codecs.StreamWriter):
- def __init__(self, stream, errors='strict'):
- codecs.StreamWriter.__init__(self, stream, errors)
- __codec = codec.StreamWriter(stream, errors)
- self.write = __codec.write
- self.writelines = __codec.writelines
- self.reset = __codec.reset
+class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
+ codecs.IncrementalEncoder):
+ codec = codec
+class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
+ codecs.IncrementalDecoder):
+ codec = codec
+class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
+ codec = codec
+class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
+ codec = codec
def getregentry():
- return (codec.encode, codec.decode, StreamReader, StreamWriter)
+ return codecs.CodecInfo(
+ name='shift_jisx0213',
+ encode=Codec().encode,
+ decode=Codec().decode,
+ incrementalencoder=IncrementalEncoder,
+ incrementaldecoder=IncrementalDecoder,
+ streamreader=StreamReader,
+ streamwriter=StreamWriter,
+ )