These files are a subset of the python-2.7.2.tgz distribution from python.org. Changed files from PyMod-2.7.2 have been copied into the corresponding directories of this tree, replacing the original files in the distribution. Signed-off-by: daryl.mcdaniel@intel.com git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13197 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			69 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
import os, string
 | 
						|
 | 
						|
codecs = {
 | 
						|
    'cn': ('gb2312', 'gbk', 'gb18030', 'hz'),
 | 
						|
    'tw': ('big5', 'cp950'),
 | 
						|
    'hk': ('big5hkscs',),
 | 
						|
    'jp': ('cp932', 'shift_jis', 'euc_jp', 'euc_jisx0213', 'shift_jisx0213',
 | 
						|
           'euc_jis_2004', 'shift_jis_2004'),
 | 
						|
    'kr': ('cp949', 'euc_kr', 'johab'),
 | 
						|
    'iso2022': ('iso2022_jp', 'iso2022_jp_1', 'iso2022_jp_2',
 | 
						|
                'iso2022_jp_2004', 'iso2022_jp_3', 'iso2022_jp_ext',
 | 
						|
                'iso2022_kr'),
 | 
						|
}
 | 
						|
 | 
						|
TEMPLATE = string.Template("""\
 | 
						|
#
 | 
						|
# $encoding.py: Python Unicode Codec for $ENCODING
 | 
						|
#
 | 
						|
# Written by Hye-Shik Chang <perky@FreeBSD.org>
 | 
						|
#
 | 
						|
 | 
						|
import _codecs_$owner, codecs
 | 
						|
import _multibytecodec as mbc
 | 
						|
 | 
						|
codec = _codecs_$owner.getcodec('$encoding')
 | 
						|
 | 
						|
class Codec(codecs.Codec):
 | 
						|
    encode = codec.encode
 | 
						|
    decode = codec.decode
 | 
						|
 | 
						|
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 codecs.CodecInfo(
 | 
						|
        name='$encoding',
 | 
						|
        encode=Codec().encode,
 | 
						|
        decode=Codec().decode,
 | 
						|
        incrementalencoder=IncrementalEncoder,
 | 
						|
        incrementaldecoder=IncrementalDecoder,
 | 
						|
        streamreader=StreamReader,
 | 
						|
        streamwriter=StreamWriter,
 | 
						|
    )
 | 
						|
""")
 | 
						|
 | 
						|
def gencodecs(prefix):
 | 
						|
    for loc, encodings in codecs.iteritems():
 | 
						|
        for enc in encodings:
 | 
						|
            code = TEMPLATE.substitute(ENCODING=enc.upper(),
 | 
						|
                                       encoding=enc.lower(),
 | 
						|
                                       owner=loc)
 | 
						|
            codecpath = os.path.join(prefix, enc + '.py')
 | 
						|
            open(codecpath, 'w').write(code)
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
    import sys
 | 
						|
    gencodecs(sys.argv[1])
 |