Mercurial > babel > old > babel-test
annotate scripts/dump_data.py @ 401:7826d8e9998f
Add `timedelta` function to the `Format` support class.
author | cmlenz |
---|---|
date | Fri, 18 Jul 2008 13:38:02 +0000 |
parents | cd8761c6f1a6 |
children | 85e1beadacb0 |
rev | line source |
---|---|
8
9132c9218745
Pull in some supplemental data from the CLDR, for things like the first day of the week.
cmlenz
parents:
diff
changeset
|
1 #!/usr/bin/env python |
9132c9218745
Pull in some supplemental data from the CLDR, for things like the first day of the week.
cmlenz
parents:
diff
changeset
|
2 # -*- coding: utf-8 -*- |
9132c9218745
Pull in some supplemental data from the CLDR, for things like the first day of the week.
cmlenz
parents:
diff
changeset
|
3 # |
9132c9218745
Pull in some supplemental data from the CLDR, for things like the first day of the week.
cmlenz
parents:
diff
changeset
|
4 # Copyright (C) 2007 Edgewall Software |
9132c9218745
Pull in some supplemental data from the CLDR, for things like the first day of the week.
cmlenz
parents:
diff
changeset
|
5 # All rights reserved. |
9132c9218745
Pull in some supplemental data from the CLDR, for things like the first day of the week.
cmlenz
parents:
diff
changeset
|
6 # |
9132c9218745
Pull in some supplemental data from the CLDR, for things like the first day of the week.
cmlenz
parents:
diff
changeset
|
7 # This software is licensed as described in the file COPYING, which |
9132c9218745
Pull in some supplemental data from the CLDR, for things like the first day of the week.
cmlenz
parents:
diff
changeset
|
8 # you should have received as part of this distribution. The terms |
9132c9218745
Pull in some supplemental data from the CLDR, for things like the first day of the week.
cmlenz
parents:
diff
changeset
|
9 # are also available at http://babel.edgewall.org/wiki/License. |
9132c9218745
Pull in some supplemental data from the CLDR, for things like the first day of the week.
cmlenz
parents:
diff
changeset
|
10 # |
9132c9218745
Pull in some supplemental data from the CLDR, for things like the first day of the week.
cmlenz
parents:
diff
changeset
|
11 # This software consists of voluntary contributions made by many |
9132c9218745
Pull in some supplemental data from the CLDR, for things like the first day of the week.
cmlenz
parents:
diff
changeset
|
12 # individuals. For the exact contribution history, see the revision |
9132c9218745
Pull in some supplemental data from the CLDR, for things like the first day of the week.
cmlenz
parents:
diff
changeset
|
13 # history and logs, available at http://babel.edgewall.org/log/. |
9132c9218745
Pull in some supplemental data from the CLDR, for things like the first day of the week.
cmlenz
parents:
diff
changeset
|
14 |
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.
cmlenz
parents:
233
diff
changeset
|
15 from optparse import OptionParser |
8
9132c9218745
Pull in some supplemental data from the CLDR, for things like the first day of the week.
cmlenz
parents:
diff
changeset
|
16 from pprint import pprint |
9132c9218745
Pull in some supplemental data from the CLDR, for things like the first day of the week.
cmlenz
parents:
diff
changeset
|
17 import sys |
9132c9218745
Pull in some supplemental data from the CLDR, for things like the first day of the week.
cmlenz
parents:
diff
changeset
|
18 |
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.
cmlenz
parents:
233
diff
changeset
|
19 from babel.localedata import load, LocaleDataDict |
33 | 20 |
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.
cmlenz
parents:
233
diff
changeset
|
21 |
369300a7ebd3
Implement support for aliases in the CLDR data. Closes #68. Also, update to CLDR 1.6, and a much improved `dump_data` script.
cmlenz
parents:
233
diff
changeset
|
22 def main(): |
369300a7ebd3
Implement support for aliases in the CLDR data. Closes #68. Also, update to CLDR 1.6, and a much improved `dump_data` script.
cmlenz
parents:
233
diff
changeset
|
23 parser = OptionParser(usage='%prog [options] locale [path]') |
369300a7ebd3
Implement support for aliases in the CLDR data. Closes #68. Also, update to CLDR 1.6, and a much improved `dump_data` script.
cmlenz
parents:
233
diff
changeset
|
24 parser.add_option('--noinherit', action='store_false', dest='inherit', |
369300a7ebd3
Implement support for aliases in the CLDR data. Closes #68. Also, update to CLDR 1.6, and a much improved `dump_data` script.
cmlenz
parents:
233
diff
changeset
|
25 help='do not merge inherited data into locale data') |
369300a7ebd3
Implement support for aliases in the CLDR data. Closes #68. Also, update to CLDR 1.6, and a much improved `dump_data` script.
cmlenz
parents:
233
diff
changeset
|
26 parser.add_option('--resolve', action='store_true', dest='resolve', |
369300a7ebd3
Implement support for aliases in the CLDR data. Closes #68. Also, update to CLDR 1.6, and a much improved `dump_data` script.
cmlenz
parents:
233
diff
changeset
|
27 help='resolve aliases in locale data') |
369300a7ebd3
Implement support for aliases in the CLDR data. Closes #68. Also, update to CLDR 1.6, and a much improved `dump_data` script.
cmlenz
parents:
233
diff
changeset
|
28 parser.set_defaults(inherit=True, resolve=False) |
369300a7ebd3
Implement support for aliases in the CLDR data. Closes #68. Also, update to CLDR 1.6, and a much improved `dump_data` script.
cmlenz
parents:
233
diff
changeset
|
29 options, args = parser.parse_args() |
369300a7ebd3
Implement support for aliases in the CLDR data. Closes #68. Also, update to CLDR 1.6, and a much improved `dump_data` script.
cmlenz
parents:
233
diff
changeset
|
30 if len(args) not in (1, 2): |
369300a7ebd3
Implement support for aliases in the CLDR data. Closes #68. Also, update to CLDR 1.6, and a much improved `dump_data` script.
cmlenz
parents:
233
diff
changeset
|
31 parser.error('incorrect number of arguments') |
369300a7ebd3
Implement support for aliases in the CLDR data. Closes #68. Also, update to CLDR 1.6, and a much improved `dump_data` script.
cmlenz
parents:
233
diff
changeset
|
32 |
369300a7ebd3
Implement support for aliases in the CLDR data. Closes #68. Also, update to CLDR 1.6, and a much improved `dump_data` script.
cmlenz
parents:
233
diff
changeset
|
33 data = load(args[0], merge_inherited=options.inherit) |
369300a7ebd3
Implement support for aliases in the CLDR data. Closes #68. Also, update to CLDR 1.6, and a much improved `dump_data` script.
cmlenz
parents:
233
diff
changeset
|
34 if options.resolve: |
369300a7ebd3
Implement support for aliases in the CLDR data. Closes #68. Also, update to CLDR 1.6, and a much improved `dump_data` script.
cmlenz
parents:
233
diff
changeset
|
35 data = LocaleDataDict(data) |
369300a7ebd3
Implement support for aliases in the CLDR data. Closes #68. Also, update to CLDR 1.6, and a much improved `dump_data` script.
cmlenz
parents:
233
diff
changeset
|
36 if len(args) > 1: |
369300a7ebd3
Implement support for aliases in the CLDR data. Closes #68. Also, update to CLDR 1.6, and a much improved `dump_data` script.
cmlenz
parents:
233
diff
changeset
|
37 for key in args[1].split('.'): |
369300a7ebd3
Implement support for aliases in the CLDR data. Closes #68. Also, update to CLDR 1.6, and a much improved `dump_data` script.
cmlenz
parents:
233
diff
changeset
|
38 data = data[key] |
385
cd8761c6f1a6
Improve CLDR import of currency-related data to ignore unsupported features such as symbol choice patterns and pluralized display names. See #93.
cmlenz
parents:
375
diff
changeset
|
39 if isinstance(data, dict): |
cd8761c6f1a6
Improve CLDR import of currency-related data to ignore unsupported features such as symbol choice patterns and pluralized display names. See #93.
cmlenz
parents:
375
diff
changeset
|
40 data = dict(data.items()) |
cd8761c6f1a6
Improve CLDR import of currency-related data to ignore unsupported features such as symbol choice patterns and pluralized display names. See #93.
cmlenz
parents:
375
diff
changeset
|
41 pprint(data) |
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.
cmlenz
parents:
233
diff
changeset
|
42 |
369300a7ebd3
Implement support for aliases in the CLDR data. Closes #68. Also, update to CLDR 1.6, and a much improved `dump_data` script.
cmlenz
parents:
233
diff
changeset
|
43 |
369300a7ebd3
Implement support for aliases in the CLDR data. Closes #68. Also, update to CLDR 1.6, and a much improved `dump_data` script.
cmlenz
parents:
233
diff
changeset
|
44 if __name__ == '__main__': |
369300a7ebd3
Implement support for aliases in the CLDR data. Closes #68. Also, update to CLDR 1.6, and a much improved `dump_data` script.
cmlenz
parents:
233
diff
changeset
|
45 main() |