perky 03/01/09 15:37:08
Modified: korean/python cp949.py euc_kr.py
Log:
Don't taint euc_kr codec's {enc,dec}map when cp949 codec is loading.
Revision Changes Path
1.6 +17 -6 KoreanCodecs/korean/python/cp949.py
Index: cp949.py
===================================================================
RCS file: /cvsroot/koco/KoreanCodecs/korean/python/cp949.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- cp949.py 9 Jan 2003 21:35:49 -0000 1.5
+++ cp949.py 9 Jan 2003 23:37:08 -0000 1.6
@@ -17,12 +17,23 @@
# along with KoreanCodecs; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
-# $Id: cp949.py,v 1.5 2003/01/09 21:35:49 perky Exp $
+# $Id: cp949.py,v 1.6 2003/01/09 23:37:08 perky Exp $
#
-from korean.python.euc_kr import *
-
+from korean.python import euc_kr
from korean.mappings import uhc
-encmap_hangul.update(uhc.encoding_map)
-decmap_hangul.update(uhc.decoding_map)
-del uhc
+
+class Codec(euc_kr.Codec):
+ uhc_encmap = uhc.encoding_map
+ uhc_decmap = uhc.decoding_map
+
+class StreamWriter(Codec, euc_kr.StreamWriter):
+ pass
+
+class StreamReader(Codec, euc_kr.StreamReader):
+ pass
+
+def getregentry():
+ return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
+
+# ex: ts=8 sts=4 et
1.10 +11 -1 KoreanCodecs/korean/python/euc_kr.py
Index: euc_kr.py
===================================================================
RCS file: /cvsroot/koco/KoreanCodecs/korean/python/euc_kr.py,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- euc_kr.py 9 Jan 2003 21:35:49 -0000 1.9
+++ euc_kr.py 9 Jan 2003 23:37:08 -0000 1.10
@@ -17,7 +17,7 @@
# along with KoreanCodecs; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
-# $Id: euc_kr.py,v 1.9 2003/01/09 21:35:49 perky Exp $
+# $Id: euc_kr.py,v 1.10 2003/01/09 23:37:08 perky Exp $
#
import codecs
@@ -29,6 +29,9 @@
class Codec(codecs.Codec):
+ uhc_encmap = {} # only for cp949 codec
+ uhc_decmap = {}
+
# Unicode to character buffer
def encode(self, data, errors='strict'):
global encmap_ideo, encmap_misc
@@ -42,6 +45,8 @@
buffer.append(c.encode("ascii", errors))
elif encmap_hangul.has_key(c):
buffer.append(encmap_hangul[c])
+ elif self.uhc_encmap.has_key(c):
+ buffer.append(self.uhc_encmap[c])
else:
if not encmap_misc:
from korean.mappings import ksc5601_misc
@@ -86,6 +91,9 @@
if decmap_hangul.has_key(c):
buffer.append(decmap_hangul[c])
continue
+ elif self.uhc_decmap.has_key(c):
+ buffer.append(self.uhc_decmap[c])
+ continue
if not decmap_misc:
from korean.mappings import ksc5601_misc
@@ -166,3 +174,5 @@
def getregentry():
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
+
+# ex: ts=8 sts=4 et
|