9
9
from django .urls import reverse
10
10
from django .utils .translation import gettext_lazy as _
11
11
from django .db .models import F
12
+ from humanize import naturaldelta
12
13
13
14
from oioioi .base .menu import menu_registry
14
15
from oioioi .base .permissions import enforce_condition
@@ -198,13 +199,13 @@ def get_rounds_info(request):
198
199
for round_ , rt in rounds_times (request , request .contest ).items ():
199
200
round_time_info = {'name' : str (round_ ), 'start' : rt .start or _ ("Not set" )}
200
201
if rt .start :
201
- round_time_info ['start_relative' ] = str (rt .start - request .timestamp )[: - 7 ] if rt .is_future (
202
+ round_time_info ['start_relative' ] = naturaldelta (rt .start - request .timestamp ) if rt .is_future (
202
203
request .timestamp ) else _ ("Started" )
203
204
else :
204
205
round_time_info ['start_relative' ] = _ ("Not set" )
205
206
round_time_info ['end' ] = rt .end or _ ("Not set" )
206
207
if rt .end :
207
- round_time_info ['end_relative' ] = str (rt .end - request .timestamp )[: - 7 ] if not rt .is_past (
208
+ round_time_info ['end_relative' ] = naturaldelta (rt .end - request .timestamp ) if not rt .is_past (
208
209
request .timestamp ) else _ ("Finished" )
209
210
else :
210
211
round_time_info ['end_relative' ] = _ ("Not set" )
@@ -217,7 +218,7 @@ def get_attachments_info(request):
217
218
for attachment in attachments :
218
219
pub_date_relative = None
219
220
if attachment .pub_date :
220
- pub_date_relative = str (attachment .pub_date - request .timestamp )[: - 7 ] \
221
+ pub_date_relative = naturaldelta (attachment .pub_date - request .timestamp ) \
221
222
if attachment .pub_date > request .timestamp else _ ("Published" )
222
223
setattr (attachment , 'pub_date_relative' , pub_date_relative )
223
224
return attachments
0 commit comments