mirror of
https://github.com/jazzband/django-axes.git
synced 2026-05-25 23:53:45 +00:00
Add iso8601 translator.
This commit is contained in:
parent
2643de5e59
commit
7444c4e3b3
1 changed files with 21 additions and 0 deletions
|
|
@ -18,3 +18,24 @@ def reset(ip=None, username=None):
|
|||
attempts.delete()
|
||||
|
||||
return count
|
||||
|
||||
|
||||
def iso8601(value):
|
||||
"""Returns datetime.timedelta translated to ISO 8601 formatted duration.
|
||||
"""
|
||||
seconds = value.total_seconds()
|
||||
minutes, seconds = divmod(seconds, 60)
|
||||
hours, minutes = divmod(minutes, 60)
|
||||
days, hours = divmod(hours, 24)
|
||||
|
||||
date = '{:.0f}D'.format(days) if days else ''
|
||||
|
||||
time_values = hours, minutes, seconds
|
||||
time_designators = 'H', 'M', 'S'
|
||||
|
||||
time = ''.join(
|
||||
[('{:.0f}'.format(value) + designator)
|
||||
for value, designator in zip(time_values, time_designators)
|
||||
if value]
|
||||
)
|
||||
return u'P' + date + time
|
||||
|
|
|
|||
Loading…
Reference in a new issue