summaryrefslogtreecommitdiffstats
path: root/Tools
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2014-10-02 07:38:12 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2014-10-02 07:38:12 (GMT)
commit8276d87f5a9b45579608c79ee210e6c07a2b3805 (patch)
tree067859656f1ed5a1ed3401f324d0c2eed1768abf /Tools
parent5189ee54cf6fec9f00e0df1ebdeea5cbaef3e18e (diff)
downloadcpython-8276d87f5a9b45579608c79ee210e6c07a2b3805.zip
cpython-8276d87f5a9b45579608c79ee210e6c07a2b3805.tar.gz
cpython-8276d87f5a9b45579608c79ee210e6c07a2b3805.tar.bz2
Issue #20079: makelocalealias.py now supports installed SUPPORTED file,
not only source SUPPORTED file in glibc sources tree.
Diffstat (limited to 'Tools')
-rwxr-xr-xTools/i18n/makelocalealias.py20
1 files changed, 12 insertions, 8 deletions
diff --git a/Tools/i18n/makelocalealias.py b/Tools/i18n/makelocalealias.py
index 25cb337..c7ecace 100755
--- a/Tools/i18n/makelocalealias.py
+++ b/Tools/i18n/makelocalealias.py
@@ -10,8 +10,10 @@ import locale
import sys
_locale = locale
-# Location of the alias file
+# Location of the X11 alias file.
LOCALE_ALIAS = '/usr/share/X11/locale/locale.alias'
+# Location of the glibc SUPPORTED locales file.
+SUPPORTED = '/usr/share/i18n/SUPPORTED'
def parse(filename):
@@ -59,10 +61,12 @@ def parse_glibc_supported(filename):
continue
if line[:1] == '#':
continue
- if '/' not in line:
- continue
+ line = line.replace('/', ' ').strip()
line = line.rstrip('\\').rstrip()
- alias, _, alias_encoding = line.partition('/')
+ words = line.split()
+ if len(words) != 2:
+ continue
+ alias, alias_encoding = words
# Lower-case locale
locale = alias.lower()
# Normalize encoding, if given
@@ -125,13 +129,13 @@ if __name__ == '__main__':
parser.add_argument('--locale-alias', default=LOCALE_ALIAS,
help='location of the X11 alias file '
'(default: %a)' % LOCALE_ALIAS)
- parser.add_argument('--glibc-supported',
- help='location of the glibc SUPPORTED locales file')
+ parser.add_argument('--glibc-supported', default=SUPPORTED,
+ help='location of the glibc SUPPORTED locales file '
+ '(default: %a)' % SUPPORTED)
args = parser.parse_args()
data = locale.locale_alias.copy()
- if args.glibc_supported:
- data.update(parse_glibc_supported(args.glibc_supported))
+ data.update(parse_glibc_supported(args.glibc_supported))
data.update(parse(args.locale_alias))
while True:
# Repeat optimization while the size is decreased.