File tree Expand file tree Collapse file tree 2 files changed +19
-2
lines changed Expand file tree Collapse file tree 2 files changed +19
-2
lines changed Original file line number Diff line number Diff line change @@ -943,7 +943,14 @@ def _iter_patterns(a_unit):
943
943
else :
944
944
yield unit_rel_patterns ['past' ]
945
945
a_unit = f"duration-{ a_unit } "
946
- yield locale ._data ['unit_patterns' ].get (a_unit , {}).get (format )
946
+ unit_pats = locale ._data ['unit_patterns' ].get (a_unit , {})
947
+ yield unit_pats .get (format )
948
+ # We do not support `<alias>` tags at all while ingesting CLDR data,
949
+ # so these aliases specified in `root.xml` are hard-coded here:
950
+ # <unitLength type="long"><alias source="locale" path="../unitLength[@type='short']"/></unitLength>
951
+ # <unitLength type="narrow"><alias source="locale" path="../unitLength[@type='short']"/></unitLength>
952
+ if format in ("long" , "narrow" ):
953
+ yield unit_pats .get ("short" )
947
954
948
955
for unit , secs_per_unit in TIMEDELTA_UNITS :
949
956
value = abs (seconds ) / secs_per_unit
@@ -956,7 +963,8 @@ def _iter_patterns(a_unit):
956
963
for patterns in _iter_patterns (unit ):
957
964
if patterns is not None :
958
965
pattern = patterns .get (plural_form ) or patterns .get ('other' )
959
- break
966
+ if pattern :
967
+ break
960
968
# This really should not happen
961
969
if pattern is None :
962
970
return ''
Original file line number Diff line number Diff line change @@ -742,3 +742,12 @@ def test_en_gb_first_weekday():
742
742
743
743
def test_issue_798 ():
744
744
assert dates .format_timedelta (timedelta (), format = 'narrow' , locale = 'es_US' ) == '0s'
745
+
746
+
747
+ def test_issue_892 ():
748
+ assert dates .format_timedelta (timedelta (seconds = 1 ), format = 'narrow' , locale = 'pt_BR' ) == '1 s'
749
+ assert dates .format_timedelta (timedelta (minutes = 1 ), format = 'narrow' , locale = 'pt_BR' ) == '1 min'
750
+ assert dates .format_timedelta (timedelta (hours = 1 ), format = 'narrow' , locale = 'pt_BR' ) == '1 h'
751
+ assert dates .format_timedelta (timedelta (days = 1 ), format = 'narrow' , locale = 'pt_BR' ) == '1 dia'
752
+ assert dates .format_timedelta (timedelta (days = 30 ), format = 'narrow' , locale = 'pt_BR' ) == '1 mês'
753
+ assert dates .format_timedelta (timedelta (days = 365 ), format = 'narrow' , locale = 'pt_BR' ) == '1 ano'
You can’t perform that action at this time.
0 commit comments