summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAarni Koskela <akx@iki.fi>2019-03-01 13:38:31 +0200
committerAarni Koskela <akx@iki.fi>2019-03-01 18:18:12 +0200
commit69cda1d2082444ed99836d92135f175d20555463 (patch)
tree6b5e7b7e832b5a21b5f8cb033306c59630d3ad8a
parentea5bc4988bf7c3be84d296eb874aa11ed86c907d (diff)
downloadbabel-69cda1d2082444ed99836d92135f175d20555463.tar.gz
Skip alt=... for week data (minDays, firstDay, weekendStart, weekendEnd)
Fixes #624
-rwxr-xr-xscripts/import_cldr.py8
-rw-r--r--tests/test_dates.py6
2 files changed, 14 insertions, 0 deletions
diff --git a/scripts/import_cldr.py b/scripts/import_cldr.py
index a3e8f69..ed2e19c 100755
--- a/scripts/import_cldr.py
+++ b/scripts/import_cldr.py
@@ -520,18 +520,26 @@ def parse_dates(data, tree, sup, regions, territory):
week_data = data.setdefault('week_data', {})
supelem = sup.find('.//weekData')
for elem in supelem.findall('minDays'):
+ if _should_skip_elem(elem):
+ continue
territories = elem.attrib['territories'].split()
if territory in territories or any([r in territories for r in regions]):
week_data['min_days'] = int(elem.attrib['count'])
for elem in supelem.findall('firstDay'):
+ if _should_skip_elem(elem):
+ continue
territories = elem.attrib['territories'].split()
if territory in territories or any([r in territories for r in regions]):
week_data['first_day'] = weekdays[elem.attrib['day']]
for elem in supelem.findall('weekendStart'):
+ if _should_skip_elem(elem):
+ continue
territories = elem.attrib['territories'].split()
if territory in territories or any([r in territories for r in regions]):
week_data['weekend_start'] = weekdays[elem.attrib['day']]
for elem in supelem.findall('weekendEnd'):
+ if _should_skip_elem(elem):
+ continue
territories = elem.attrib['territories'].split()
if territory in territories or any([r in territories for r in regions]):
week_data['weekend_end'] = weekdays[elem.attrib['day']]
diff --git a/tests/test_dates.py b/tests/test_dates.py
index d77c0ea..e859209 100644
--- a/tests/test_dates.py
+++ b/tests/test_dates.py
@@ -799,3 +799,9 @@ def test_russian_week_numbering():
v = date(2017, 1, 1)
assert dates.format_date(v, format='YYYY-ww',locale='ru_RU') == '2016-52' # This would have returned 2017-01 prior to CLDR 32
assert dates.format_date(v, format='YYYY-ww',locale='de_DE') == '2016-52'
+
+
+def test_en_gb_first_weekday():
+ assert Locale.parse('en').first_week_day == 0 # Monday in general
+ assert Locale.parse('en_US').first_week_day == 6 # Sunday in the US
+ assert Locale.parse('en_GB').first_week_day == 0 # Monday in the UK \ No newline at end of file