From: Sachin Paliwal Date: Tue, 1 Mar 2016 14:20:16 +0000 (+0530) Subject: dates: Add additional pattern for quarter X-Git-Tag: 2.3.1~10^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=de523751539225b121bf1a464f1cbb9a71625917;p=thirdparty%2Fbabel.git dates: Add additional pattern for quarter Added test cases and additional pattern for quarter format --- diff --git a/babel/dates.py b/babel/dates.py index bd496cbd..6e45d92f 100644 --- a/babel/dates.py +++ b/babel/dates.py @@ -299,6 +299,8 @@ def get_quarter_names(width='wide', context='format', locale=LC_TIME): u'1st quarter' >>> get_quarter_names('abbreviated', locale='de_DE')[1] u'Q1' + >>> get_quarter_names('narrow', locale='de_DE')[1] + u'1' :param width: the width to use, one of "wide", "abbreviated", or "narrow" :param context: the context, either "format" or "stand-alone" @@ -1387,11 +1389,11 @@ class DateTimeFormat(object): PATTERN_CHARS = { 'G': [1, 2, 3, 4, 5], # era 'y': None, 'Y': None, 'u': None, # year - 'Q': [1, 2, 3, 4], 'q': [1, 2, 3, 4], # quarter + 'Q': [1, 2, 3, 4, 5], 'q': [1, 2, 3, 4, 5], # quarter 'M': [1, 2, 3, 4, 5], 'L': [1, 2, 3, 4, 5], # month 'w': [1, 2], 'W': [1], # week 'd': [1, 2], 'D': [1, 2, 3], 'F': [1], 'g': None, # day - 'E': [1, 2, 3, 4, 5], 'e': [1, 2, 3, 4, 5], 'c': [1, 3, 4, 5], # week day + 'E': [1, 2, 3, 4, 5, 6], 'e': [1, 2, 3, 4, 5, 6], 'c': [1, 3, 4, 5, 6], # week day 'a': [1], # period 'h': [1, 2], 'H': [1, 2], 'K': [1, 2], 'k': [1, 2], # hour 'm': [1, 2], # minute diff --git a/tests/test_dates.py b/tests/test_dates.py index 3b1ea36d..7d3236ac 100644 --- a/tests/test_dates.py +++ b/tests/test_dates.py @@ -29,9 +29,14 @@ class DateTimeFormatTestCase(unittest.TestCase): fmt = dates.DateTimeFormat(d, locale='en_US') self.assertEqual('2', fmt['Q']) self.assertEqual('2nd quarter', fmt['QQQQ']) + self.assertEqual('2', fmt['q']) + self.assertEqual('2nd quarter', fmt['qqqq']) d = date(2006, 12, 31) fmt = dates.DateTimeFormat(d, locale='en_US') + self.assertEqual('Q4', fmt['qqq']) + self.assertEqual('4', fmt['qqqqq']) self.assertEqual('Q4', fmt['QQQ']) + self.assertEqual('4', fmt['QQQQQ']) def test_month_context(self): d = date(2006, 2, 8) @@ -501,6 +506,7 @@ def test_get_month_names(): def test_get_quarter_names(): assert dates.get_quarter_names('wide', locale='en_US')[1] == u'1st quarter' assert dates.get_quarter_names('abbreviated', locale='de_DE')[1] == u'Q1' + assert dates.get_quarter_names('narrow', locale='de_DE')[1] == u'1' def test_get_era_names():