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()
Copyright (C) 2012-2017 Edgewall Software