Mercurial > babel > mirror
comparison scripts/import_cldr.py @ 345:e818b03b370f trunk
Update to CLDR 1.5.1, which split out the metazone mappings into a separate supplemental file.
author | cmlenz |
---|---|
date | Mon, 16 Jun 2008 12:24:04 +0000 |
parents | da97a3138239 |
children | 4eca63af0a12 |
comparison
equal
deleted
inserted
replaced
344:eb12741b65df | 345:e818b03b370f |
---|---|
53 destdir = os.path.join(os.path.dirname(os.path.abspath(sys.argv[0])), | 53 destdir = os.path.join(os.path.dirname(os.path.abspath(sys.argv[0])), |
54 '..', 'babel') | 54 '..', 'babel') |
55 | 55 |
56 sup = parse(os.path.join(srcdir, 'supplemental', 'supplementalData.xml')) | 56 sup = parse(os.path.join(srcdir, 'supplemental', 'supplementalData.xml')) |
57 | 57 |
58 # import global data from the supplemental files | 58 # Import global data from the supplemental files |
59 global_data = {} | 59 global_data = {} |
60 | 60 |
61 territory_zones = global_data.setdefault('territory_zones', {}) | 61 territory_zones = global_data.setdefault('territory_zones', {}) |
62 zone_aliases = global_data.setdefault('zone_aliases', {}) | 62 zone_aliases = global_data.setdefault('zone_aliases', {}) |
63 zone_territories = global_data.setdefault('zone_territories', {}) | 63 zone_territories = global_data.setdefault('zone_territories', {}) |
66 territory_zones.setdefault(elem.attrib['territory'], []).append(tzid) | 66 territory_zones.setdefault(elem.attrib['territory'], []).append(tzid) |
67 zone_territories[tzid] = elem.attrib['territory'] | 67 zone_territories[tzid] = elem.attrib['territory'] |
68 if 'aliases' in elem.attrib: | 68 if 'aliases' in elem.attrib: |
69 for alias in elem.attrib['aliases'].split(): | 69 for alias in elem.attrib['aliases'].split(): |
70 zone_aliases[alias] = tzid | 70 zone_aliases[alias] = tzid |
71 | |
72 # Import Metazone mapping | |
73 meta_zones = global_data.setdefault('meta_zones', {}) | |
74 tzsup = parse(os.path.join(srcdir, 'supplemental', 'metazoneInfo.xml')) | |
75 for elem in tzsup.findall('//timezone'): | |
76 for child in elem.findall('usesMetazone'): | |
77 if 'to' not in child.attrib: # FIXME: support old mappings | |
78 meta_zones[elem.attrib['type']] = child.attrib['mzone'] | |
71 | 79 |
72 outfile = open(os.path.join(destdir, 'global.dat'), 'wb') | 80 outfile = open(os.path.join(destdir, 'global.dat'), 'wb') |
73 try: | 81 try: |
74 pickle.dump(global_data, outfile, 2) | 82 pickle.dump(global_data, outfile, 2) |
75 finally: | 83 finally: |
195 info['city'] = unicode(city) | 203 info['city'] = unicode(city) |
196 for child in elem.findall('long/*'): | 204 for child in elem.findall('long/*'): |
197 info.setdefault('long', {})[child.tag] = unicode(child.text) | 205 info.setdefault('long', {})[child.tag] = unicode(child.text) |
198 for child in elem.findall('short/*'): | 206 for child in elem.findall('short/*'): |
199 info.setdefault('short', {})[child.tag] = unicode(child.text) | 207 info.setdefault('short', {})[child.tag] = unicode(child.text) |
200 for child in elem.findall('usesMetazone'): | |
201 if 'to' not in child.attrib: # FIXME: support old mappings | |
202 info['use_metazone'] = child.attrib['mzone'] | |
203 time_zones[elem.attrib['type']] = info | 208 time_zones[elem.attrib['type']] = info |
204 | 209 |
205 meta_zones = data.setdefault('meta_zones', {}) | 210 meta_zones = data.setdefault('meta_zones', {}) |
206 for elem in tree.findall('//timeZoneNames/metazone'): | 211 for elem in tree.findall('//timeZoneNames/metazone'): |
207 info = {} | 212 info = {} |