[Python-checkins] python/dist/src/Lib/encodings iconv_codec.py,NONE,1.1 __init__.py,1.14,1.15

loewis@users.sourceforge.net loewis@users.sourceforge.net
Sun, 26 Jan 2003 03:27:18 -0800


Update of /cvsroot/python/python/dist/src/Lib/encodings
In directory sc8-pr-cvs1:/tmp/cvs-serv618/Lib/encodings

Modified Files:
	__init__.py 
Added Files:
	iconv_codec.py 
Log Message:
Patch #670715: Universal Unicode Codec for POSIX iconv.


--- NEW FILE: iconv_codec.py ---
""" Python 'iconv' Codec


Written by Hye-Shik Chang (perky@FreeBSD.org).

Copyright(c) Python Software Foundation, All Rights Reserved. NO WARRANTY.

"""

import _iconv_codec
import codecs

def lookup(enc):
    class IconvCodec(_iconv_codec.iconvcodec, codecs.Codec):
        encoding = enc

    try:
        c = IconvCodec()

        class IconvStreamReader(IconvCodec, codecs.StreamReader):
            __init__ = codecs.StreamReader.__init__
        class IconvStreamWriter(IconvCodec, codecs.StreamWriter):
            __init__ = codecs.StreamWriter.__init__

        return (
            c.encode, c.decode,
            IconvStreamReader, IconvStreamWriter
        )
    except ValueError:
        return None

codecs.register(lookup)

# ex: ts=8 sts=4 et

Index: __init__.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/encodings/__init__.py,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** __init__.py	24 Dec 2002 18:31:27 -0000	1.14
--- __init__.py	26 Jan 2003 11:27:16 -0000	1.15
***************
*** 121,122 ****
--- 121,128 ----
  # Register the search_function in the Python codec registry
  codecs.register(search_function)
+ 
+ # Register iconv_codec lookup function if available
+ try:
+     import iconv_codec
+ except ImportError:
+     pass