comparison scripts/dump_data.py @ 375:369300a7ebd3

Implement support for aliases in the CLDR data. Closes #68. Also, update to CLDR 1.6, and a much improved `dump_data` script.
author cmlenz
date Mon, 07 Jul 2008 14:49:16 +0000
parents bc22f5aef216
children cd8761c6f1a6
comparison
equal deleted inserted replaced
374:edc3428a34de 375:369300a7ebd3
10 # 10 #
11 # This software consists of voluntary contributions made by many 11 # This software consists of voluntary contributions made by many
12 # individuals. For the exact contribution history, see the revision 12 # individuals. For the exact contribution history, see the revision
13 # history and logs, available at http://babel.edgewall.org/log/. 13 # history and logs, available at http://babel.edgewall.org/log/.
14 14
15 from optparse import OptionParser
15 from pprint import pprint 16 from pprint import pprint
16 import sys 17 import sys
17 18
18 from babel.localedata import load 19 from babel.localedata import load, LocaleDataDict
19 20
20 if len(sys.argv) > 2: 21
21 pprint(load(sys.argv[1]).get(sys.argv[2])) 22 def main():
22 else: 23 parser = OptionParser(usage='%prog [options] locale [path]')
23 pprint(load(sys.argv[1])) 24 parser.add_option('--noinherit', action='store_false', dest='inherit',
25 help='do not merge inherited data into locale data')
26 parser.add_option('--resolve', action='store_true', dest='resolve',
27 help='resolve aliases in locale data')
28 parser.set_defaults(inherit=True, resolve=False)
29 options, args = parser.parse_args()
30 if len(args) not in (1, 2):
31 parser.error('incorrect number of arguments')
32
33 data = load(args[0], merge_inherited=options.inherit)
34 if options.resolve:
35 data = LocaleDataDict(data)
36 if len(args) > 1:
37 for key in args[1].split('.'):
38 data = data[key]
39 pprint(dict(data.items()))
40
41
42 if __name__ == '__main__':
43 main()
Copyright (C) 2012-2017 Edgewall Software