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
		
			
				
	
	
		
			74 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
#!/usr/bin/env python
 | 
						|
"""
 | 
						|
    Convert the X11 locale.alias file into a mapping dictionary suitable
 | 
						|
    for locale.py.
 | 
						|
 | 
						|
    Written by Marc-Andre Lemburg <mal@genix.com>, 2004-12-10.
 | 
						|
 | 
						|
"""
 | 
						|
import locale
 | 
						|
 | 
						|
# Location of the alias file
 | 
						|
LOCALE_ALIAS = '/usr/share/X11/locale/locale.alias'
 | 
						|
 | 
						|
def parse(filename):
 | 
						|
 | 
						|
    f = open(filename)
 | 
						|
    lines = f.read().splitlines()
 | 
						|
    data = {}
 | 
						|
    for line in lines:
 | 
						|
        line = line.strip()
 | 
						|
        if not line:
 | 
						|
            continue
 | 
						|
        if line[:1] == '#':
 | 
						|
            continue
 | 
						|
        locale, alias = line.split()
 | 
						|
        # Strip ':'
 | 
						|
        if locale[-1] == ':':
 | 
						|
            locale = locale[:-1]
 | 
						|
        # Lower-case locale
 | 
						|
        locale = locale.lower()
 | 
						|
        # Ignore one letter locale mappings (except for 'c')
 | 
						|
        if len(locale) == 1 and locale != 'c':
 | 
						|
            continue
 | 
						|
        # Normalize encoding, if given
 | 
						|
        if '.' in locale:
 | 
						|
            lang, encoding = locale.split('.')[:2]
 | 
						|
            encoding = encoding.replace('-', '')
 | 
						|
            encoding = encoding.replace('_', '')
 | 
						|
            locale = lang + '.' + encoding
 | 
						|
            if encoding.lower() == 'utf8':
 | 
						|
                # Ignore UTF-8 mappings - this encoding should be
 | 
						|
                # available for all locales
 | 
						|
                continue
 | 
						|
        data[locale] = alias
 | 
						|
    return data
 | 
						|
 | 
						|
def pprint(data):
 | 
						|
 | 
						|
    items = data.items()
 | 
						|
    items.sort()
 | 
						|
    for k,v in items:
 | 
						|
        print '    %-40s%r,' % ('%r:' % k, v)
 | 
						|
 | 
						|
def print_differences(data, olddata):
 | 
						|
 | 
						|
    items = olddata.items()
 | 
						|
    items.sort()
 | 
						|
    for k, v in items:
 | 
						|
        if not data.has_key(k):
 | 
						|
            print '#    removed %r' % k
 | 
						|
        elif olddata[k] != data[k]:
 | 
						|
            print '#    updated %r -> %r to %r' % \
 | 
						|
                  (k, olddata[k], data[k])
 | 
						|
        # Additions are not mentioned
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
    data = locale.locale_alias.copy()
 | 
						|
    data.update(parse(LOCALE_ALIAS))
 | 
						|
    print_differences(data, locale.locale_alias)
 | 
						|
    print
 | 
						|
    print 'locale_alias = {'
 | 
						|
    pprint(data)
 | 
						|
    print '}'
 |