Skip to content

Commit

Permalink
[#1635] Handle "1 day" in string_to_timedelta()
Browse files Browse the repository at this point in the history
Handle strings like "1 day" or "1 day, 3:23:46" etc. in the
string_to_timedelta() function used to parse the
ckan.email_notifications_since config setting.
  • Loading branch information
Sean Hammond committed Dec 11, 2012
1 parent 5e4669d commit 3b76185
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 1 deletion.
2 changes: 1 addition & 1 deletion ckan/lib/email_notifications.py
Expand Up @@ -34,7 +34,7 @@ def string_to_timedelta(s):
'''
patterns = []
days_only_pattern = '(?P<days>\d+) days'
days_only_pattern = '(?P<days>\d+) day(s)?'
patterns.append(days_only_pattern)
hms_only_pattern = '(?P<hours>\d?\d):(?P<minutes>\d\d):(?P<seconds>\d\d)'
patterns.append(hms_only_pattern)
Expand Down
4 changes: 4 additions & 0 deletions ckan/tests/lib/test_email_notifications.py
Expand Up @@ -11,6 +11,8 @@


def test_string_to_time_delta():
assert email_notifications.string_to_timedelta('1 day') == (
datetime.timedelta(days=1))
assert email_notifications.string_to_timedelta('2 days') == (
datetime.timedelta(days=2))
assert email_notifications.string_to_timedelta('14 days') == (
Expand All @@ -20,6 +22,8 @@ def test_string_to_time_delta():
assert email_notifications.string_to_timedelta('4:35:12.087465') == (
datetime.timedelta(hours=4, minutes=35, seconds=12,
milliseconds=87, microseconds=465))
assert email_notifications.string_to_timedelta('1 day, 3:23:34') == (
datetime.timedelta(days=1, hours=3, minutes=23, seconds=34))
assert email_notifications.string_to_timedelta('7 days, 3:23:34') == (
datetime.timedelta(days=7, hours=3, minutes=23, seconds=34))
assert email_notifications.string_to_timedelta(
Expand Down

0 comments on commit 3b76185

Please sign in to comment.