Skip to content

Commit 5f1bf15

Browse files
authored
Merge pull request #42 from zgoda/format_timedelta_threshold
add threshold arg to format_timedelta function
2 parents 8978988 + 10e4581 commit 5f1bf15

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

flask_babel/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -428,10 +428,9 @@ def format_time(time=None, format=None, rebase=True):
428428

429429

430430
def format_timedelta(datetime_or_timedelta, granularity='second',
431-
add_direction=False):
431+
add_direction=False, threshold=0.85):
432432
"""Format the elapsed time from the given date to now or the given
433-
timedelta. This currently requires an unreleased development
434-
version of Babel.
433+
timedelta.
435434
436435
This function is also available in the template context as filter
437436
named `timedeltaformat`.
@@ -441,6 +440,7 @@ def format_timedelta(datetime_or_timedelta, granularity='second',
441440
return dates.format_timedelta(
442441
datetime_or_timedelta,
443442
granularity,
443+
threshold=threshold,
444444
add_direction=add_direction,
445445
locale=get_locale()
446446
)

tests/tests.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import unittest
1111
from decimal import Decimal
1212
import flask
13-
from datetime import datetime
13+
from datetime import datetime, timedelta
1414
import flask_babel as babel
1515
from flask_babel import gettext, ngettext, lazy_gettext, get_translations
1616
from babel.support import NullTranslations
@@ -76,11 +76,14 @@ def test_basics(self):
7676
app = flask.Flask(__name__)
7777
babel.Babel(app)
7878
d = datetime(2010, 4, 12, 13, 46)
79+
delta = timedelta(days=6)
7980

8081
with app.test_request_context():
8182
assert babel.format_datetime(d) == 'Apr 12, 2010, 1:46:00 PM'
8283
assert babel.format_date(d) == 'Apr 12, 2010'
8384
assert babel.format_time(d) == '1:46:00 PM'
85+
assert babel.format_timedelta(delta) == '1 week'
86+
assert babel.format_timedelta(delta, threshold=1) == '6 days'
8487

8588
with app.test_request_context():
8689
app.config['BABEL_DEFAULT_TIMEZONE'] = 'Europe/Vienna'

0 commit comments

Comments
 (0)