263
|
1 #!/usr/bin/env python
|
|
2 # -*- coding: utf-8 -*-
|
|
3 #
|
|
4 # Copyright (C) 2007 Edgewall Software
|
|
5 # All rights reserved.
|
|
6 #
|
|
7 # This software is licensed as described in the file COPYING, which
|
|
8 # you should have received as part of this distribution. The terms
|
|
9 # are also available at http://babel.edgewall.org/wiki/License.
|
|
10 #
|
|
11 # This software consists of voluntary contributions made by many
|
|
12 # individuals. For the exact contribution history, see the revision
|
|
13 # history and logs, available at http://babel.edgewall.org/log/.
|
|
14
|
381
|
15 from optparse import OptionParser
|
263
|
16 from pprint import pprint
|
|
17 import sys
|
|
18
|
381
|
19 from babel.localedata import load, LocaleDataDict
|
263
|
20
|
381
|
21
|
|
22 def main():
|
|
23 parser = OptionParser(usage='%prog [options] locale [path]')
|
|
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()
|