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])
 |