From: Aarni Koskela Date: Tue, 25 Jan 2022 12:07:50 +0000 (+0200) Subject: Date intervals: allow using `other` as fallback form X-Git-Tag: v2.10.0~24 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=227d1ec9e44bb95fb77fe5611815cc13be27e164;p=thirdparty%2Fbabel.git Date intervals: allow using `other` as fallback form Fixes #825 --- diff --git a/babel/dates.py b/babel/dates.py index a1bf713c..816149d1 100644 --- a/babel/dates.py +++ b/babel/dates.py @@ -948,7 +948,7 @@ def format_timedelta(delta, granularity='second', threshold=.85, pattern = None for patterns in _iter_patterns(unit): if patterns is not None: - pattern = patterns[plural_form] + pattern = patterns.get(plural_form) or patterns.get('other') break # This really should not happen if pattern is None: diff --git a/tests/test_date_intervals.py b/tests/test_date_intervals.py index 2e5f0d6e..4f421705 100644 --- a/tests/test_date_intervals.py +++ b/tests/test_date_intervals.py @@ -52,3 +52,13 @@ def test_format_interval_invalid_skeleton(): t2 = TEST_DATE + datetime.timedelta(days=1) assert dates.format_interval(t1, t2, "mumumu", fuzzy=False, locale="fi") == u"8.1.2016\u20139.1.2016" assert dates.format_interval(t1, t2, fuzzy=False, locale="fi") == u"8.1.2016\u20139.1.2016" + + +def test_issue_825(): + assert dates.format_timedelta( + datetime.timedelta(hours=1), + granularity='hour', + threshold=100, + format='short', + locale='pt', + ) == '1 h'