Mercurial > babel > mirror
diff scripts/dump_data.py @ 379:0a0bc1639ea7 stable-0.9.x
Ported [407:415/trunk] back to 0.9.x branch.
author | cmlenz |
---|---|
date | Tue, 08 Jul 2008 21:01:28 +0000 |
parents | da97a3138239 |
children | 38db48990998 |
line wrap: on
line diff
--- a/scripts/dump_data.py +++ b/scripts/dump_data.py @@ -12,12 +12,32 @@ # individuals. For the exact contribution history, see the revision # history and logs, available at http://babel.edgewall.org/log/. +from optparse import OptionParser from pprint import pprint import sys -from babel.localedata import load +from babel.localedata import load, LocaleDataDict -if len(sys.argv) > 2: - pprint(load(sys.argv[1]).get(sys.argv[2])) -else: - pprint(load(sys.argv[1])) + +def main(): + parser = OptionParser(usage='%prog [options] locale [path]') + parser.add_option('--noinherit', action='store_false', dest='inherit', + help='do not merge inherited data into locale data') + parser.add_option('--resolve', action='store_true', dest='resolve', + help='resolve aliases in locale data') + parser.set_defaults(inherit=True, resolve=False) + options, args = parser.parse_args() + if len(args) not in (1, 2): + parser.error('incorrect number of arguments') + + data = load(args[0], merge_inherited=options.inherit) + if options.resolve: + data = LocaleDataDict(data) + if len(args) > 1: + for key in args[1].split('.'): + data = data[key] + pprint(dict(data.items())) + + +if __name__ == '__main__': + main()