[Checkins] SVN: zope.i18n/branches/nadako-cldr/ Add support for calendar aliases.
Dan Korostelev
nadako at gmail.com
Fri Feb 27 03:28:17 EST 2009
Log message for revision 97331:
Add support for calendar aliases.
Changed:
U zope.i18n/branches/nadako-cldr/BRANCH-TODO.txt
U zope.i18n/branches/nadako-cldr/src/zope/i18n/locales/__init__.py
U zope.i18n/branches/nadako-cldr/src/zope/i18n/locales/xmlfactory.py
-=-
Modified: zope.i18n/branches/nadako-cldr/BRANCH-TODO.txt
===================================================================
--- zope.i18n/branches/nadako-cldr/BRANCH-TODO.txt 2009-02-26 20:01:31 UTC (rev 97330)
+++ zope.i18n/branches/nadako-cldr/BRANCH-TODO.txt 2009-02-27 08:28:17 UTC (rev 97331)
@@ -17,6 +17,7 @@
- Updated the XML files and fixed incompatibilities.
- Added support day and month contexts and widths.
+- Added support for calendar aliases.
Still need to review other not so critical changes and implement them.
Modified: zope.i18n/branches/nadako-cldr/src/zope/i18n/locales/__init__.py
===================================================================
--- zope.i18n/branches/nadako-cldr/src/zope/i18n/locales/__init__.py 2009-02-26 20:01:31 UTC (rev 97330)
+++ zope.i18n/branches/nadako-cldr/src/zope/i18n/locales/__init__.py 2009-02-27 08:28:17 UTC (rev 97331)
@@ -71,6 +71,10 @@
BC = 1
AD = 2
+calendarAliases = {'islamic': ('arabic',),
+ 'islamic-civil': ('civil-arabic',),
+ 'buddhist': ('thai-buddhist', )}
+
class LocaleIdentity(object):
"""Represents a unique identification of the locale
Modified: zope.i18n/branches/nadako-cldr/src/zope/i18n/locales/xmlfactory.py
===================================================================
--- zope.i18n/branches/nadako-cldr/src/zope/i18n/locales/xmlfactory.py 2009-02-26 20:01:31 UTC (rev 97330)
+++ zope.i18n/branches/nadako-cldr/src/zope/i18n/locales/xmlfactory.py 2009-02-27 08:28:17 UTC (rev 97331)
@@ -22,7 +22,7 @@
from zope.i18n.locales import LocaleCalendar, LocaleCurrency, LocaleNumbers
from zope.i18n.locales import LocaleFormat, LocaleFormatLength, dayMapping
from zope.i18n.locales import LocaleOrientation, LocaleDayContext
-from zope.i18n.locales import LocaleMonthContext
+from zope.i18n.locales import LocaleMonthContext, calendarAliases
from zope.i18n.locales.inheritance import InheritingDictionary
class LocaleFactory(object):
@@ -825,7 +825,7 @@
... </dateTimeFormatLength>
... </dateTimeFormats>
... </calendar>
- ... <calendar type="thai-buddhist">
+ ... <calendar type="buddhist">
... <eras>
... <era type="0">BE</era>
... </eras>
@@ -838,7 +838,13 @@
>>> keys = calendars.keys()
>>> keys.sort()
>>> keys
- [u'gregorian', u'thai-buddhist']
+ [u'buddhist', u'gregorian', 'thai-buddhist']
+
+ Note that "thai-buddhist" are added as an alias to "buddhist".
+
+ >>> calendars['buddhist'] is calendars['thai-buddhist']
+ True
+
"""
cals_nodes = dates_node.getElementsByTagName('calendars')
# no calendar node
@@ -890,6 +896,9 @@
setattr(calendar, formatsName, formats)
calendars[calendar.type] = calendar
+ if calendar.type in calendarAliases:
+ for alias in calendarAliases[calendar.type]:
+ calendars[alias] = calendar
return calendars
More information about the Checkins
mailing list