Skip to content

Commit 7063fcb

Browse files
committed
Format times nicely
1 parent 0f1b937 commit 7063fcb

File tree

3 files changed

+26
-3
lines changed

3 files changed

+26
-3
lines changed

naucse/templates.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,13 @@ def __str__(self):
170170
}
171171

172172

173+
@template_filter()
174+
def format_time(time):
175+
if time.second:
176+
return '{d.hour}:{d.minute:02}:{d.second:02}'.format(d=time)
177+
return '{d.hour}:{d.minute:02}'.format(d=time)
178+
179+
173180
@template_filter()
174181
def format_date(date, relative_to=None):
175182
return '{d.day}. {d.month}. {d.year}'.format(d=date)

naucse/templates/course.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@ <h4>
5959
</div>
6060
{% if course.default_start_time %}
6161
<div class="default-times">
62-
{{ course.default_start_time }}
62+
{{ course.default_start_time | format_time }}
6363
64-
{{ course.default_end_time }}
64+
{{ course.default_end_time | format_time }}
6565
</div>
6666
{% endif %}
6767
</div>

test_naucse/test_filters.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from datetime import date
1+
from datetime import date, time, datetime
22

33
import pytest
44

@@ -13,8 +13,24 @@
1313
(date(2017, 8, 1), date(2017, 9, 25), '1. 8. – 25. 9. 2017'),
1414
(date(2017, 8, 25), date(2017, 9, 25), '25. 8. – 25. 9. 2017'),
1515
(date(2016, 9, 25), date(2017, 9, 25), '25. 9. 2016 – 25. 9. 2017'),
16+
(datetime(2016, 9, 25, 8, 30), datetime(2017, 9, 25, 18, 0),
17+
'25. 9. 2016 – 25. 9. 2017'),
1618
)
1719
)
1820
def test_format_date_range(start, end, result):
1921
assert naucse.templates.format_date_range((start, end)) == result
2022

23+
@pytest.mark.parametrize(
24+
('time', 'result'),
25+
(
26+
(time(8, 0, 0), '8:00'),
27+
(time(18, 0, 0), '18:00'),
28+
(time(8, 3, 0), '8:03'),
29+
(time(8, 3, 5), '8:03:05'),
30+
(time(18, 4, 5), '18:04:05'),
31+
(datetime(2018, 1, 14, 18, 4, 5), '18:04:05'),
32+
)
33+
)
34+
def test_format_time(time, result):
35+
assert naucse.templates.format_time(time) == result
36+

0 commit comments

Comments
 (0)