Mercurial > babel > mirror
comparison scripts/import_cldr.py @ 9:9ed6cf5975a1 trunk
Add basic support for number format patterns.
author | jonas |
---|---|
date | Wed, 30 May 2007 21:30:14 +0000 |
parents | 29f6f9a90f14 |
children | 368650dc3423 |
comparison
equal
deleted
inserted
replaced
8:29f6f9a90f14 | 9:9ed6cf5975a1 |
---|---|
20 try: | 20 try: |
21 from xml.etree.ElementTree import parse | 21 from xml.etree.ElementTree import parse |
22 except ImportError: | 22 except ImportError: |
23 from elementtree.ElementTree import parse | 23 from elementtree.ElementTree import parse |
24 | 24 |
25 from babel.dates import parse_pattern | 25 from babel import dates, numbers |
26 | 26 |
27 weekdays = {'mon': 1, 'tue': 2, 'wed': 3, 'thu': 4, 'fri': 5, 'sat': 6, | 27 weekdays = {'mon': 1, 'tue': 2, 'wed': 3, 'thu': 4, 'fri': 5, 'sat': 6, |
28 'sun': 7} | 28 'sun': 7} |
29 | 29 |
30 try: | 30 try: |
223 for elem in calendar.findall('dateFormats/dateFormatLength'): | 223 for elem in calendar.findall('dateFormats/dateFormatLength'): |
224 if 'draft' in elem.attrib and elem.attrib.get('type') in date_formats: | 224 if 'draft' in elem.attrib and elem.attrib.get('type') in date_formats: |
225 continue | 225 continue |
226 try: | 226 try: |
227 date_formats[elem.attrib.get('type')] = \ | 227 date_formats[elem.attrib.get('type')] = \ |
228 parse_pattern(unicode(elem.findtext('dateFormat/pattern'))) | 228 dates.parse_pattern(unicode(elem.findtext('dateFormat/pattern'))) |
229 except ValueError, e: | 229 except ValueError, e: |
230 print e | 230 print e |
231 | 231 |
232 time_formats = data.setdefault('time_formats', {}) | 232 time_formats = data.setdefault('time_formats', {}) |
233 for elem in calendar.findall('timeFormats/timeFormatLength'): | 233 for elem in calendar.findall('timeFormats/timeFormatLength'): |
234 if 'draft' in elem.attrib and elem.attrib.get('type') in time_formats: | 234 if 'draft' in elem.attrib and elem.attrib.get('type') in time_formats: |
235 continue | 235 continue |
236 try: | 236 try: |
237 time_formats[elem.attrib.get('type')] = \ | 237 time_formats[elem.attrib.get('type')] = \ |
238 parse_pattern(unicode(elem.findtext('timeFormat/pattern'))) | 238 dates.parse_pattern(unicode(elem.findtext('timeFormat/pattern'))) |
239 except ValueError, e: | 239 except ValueError, e: |
240 print e | 240 print e |
241 | 241 |
242 # <numbers> | 242 # <numbers> |
243 | 243 |
247 | 247 |
248 decimal_formats = data.setdefault('decimal_formats', {}) | 248 decimal_formats = data.setdefault('decimal_formats', {}) |
249 for elem in tree.findall('//decimalFormats/decimalFormatLength'): | 249 for elem in tree.findall('//decimalFormats/decimalFormatLength'): |
250 if 'draft' in elem.attrib and elem.attrib.get('type') in decimal_formats: | 250 if 'draft' in elem.attrib and elem.attrib.get('type') in decimal_formats: |
251 continue | 251 continue |
252 decimal_formats[elem.attrib.get('type')] = unicode(elem.findtext('decimalFormat/pattern')) | 252 decimal_formats[elem.attrib.get('type')] = numbers.parse_pattern(unicode(elem.findtext('decimalFormat/pattern'))) |
253 | 253 |
254 scientific_formats = data.setdefault('scientific_formats', {}) | 254 scientific_formats = data.setdefault('scientific_formats', {}) |
255 for elem in tree.findall('//scientificFormats/scientificFormatLength'): | 255 for elem in tree.findall('//scientificFormats/scientificFormatLength'): |
256 if 'draft' in elem.attrib and elem.attrib.get('type') in scientific_formats: | 256 if 'draft' in elem.attrib and elem.attrib.get('type') in scientific_formats: |
257 continue | 257 continue |