From: Christopher Lenz Date: Sun, 3 Jun 2007 20:25:19 +0000 (+0000) Subject: Import basic timezone info from CLDR (see #3). Still missing a couple other pieces... X-Git-Tag: 1.0~601 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=00fb181b3d7cd0d8499203651b73ddbc76370023;p=thirdparty%2Fbabel.git Import basic timezone info from CLDR (see #3). Still missing a couple other pieces in the puzzle. --- diff --git a/babel/core.py b/babel/core.py index 62642b4e..bdbef11e 100644 --- a/babel/core.py +++ b/babel/core.py @@ -281,6 +281,19 @@ class Locale(object): :type: `dict` """) + def time_zones(self): + return self._data['time_zones'] + time_zones = property(time_zones, doc="""\ + Locale display names for time zones. + + >>> Locale('en', 'US').time_zones['America/Los_Angeles']['long']['standard'] + u'Pacific Standard Time' + >>> Locale('en', 'US').time_zones['Europe/Dublin']['city'] + u'Dublin' + + :type: `dict` + """) + def first_week_day(self): return self._data['week_data']['first_day'] first_week_day = property(first_week_day, doc="""\ diff --git a/scripts/import_cldr.py b/scripts/import_cldr.py index 328a491c..678d6724 100755 --- a/scripts/import_cldr.py +++ b/scripts/import_cldr.py @@ -153,7 +153,15 @@ def main(): time_zones = data.setdefault('time_zones', {}) for elem in tree.findall('//timeZoneNames/zone'): - time_zones[elem.tag] = unicode(elem.findtext('displayName')) + info = {} + city = elem.findtext('exemplarCity') + if city: + info['city'] = unicode(city) + for child in elem.findall('long/*'): + info.setdefault('long', {})[child.tag] = unicode(child.text) + for child in elem.findall('short/*'): + info.setdefault('short', {})[child.tag] = unicode(child.text) + time_zones[elem.attrib['type']] = info for calendar in tree.findall('//calendars/calendar'): if calendar.attrib['type'] != 'gregorian':