util.py: reimplement format_elapsed_hr()

This commit is contained in:
The MMGen Project 2022-10-08 12:04:43 +00:00
commit 3647db1bbb
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
2 changed files with 9 additions and 12 deletions

View file

@ -1 +1 @@
13.3.dev4
13.3.dev5

View file

@ -378,19 +378,16 @@ def secs_to_ms(secs):
return '{:02d}:{:02d}'.format(secs//60, secs % 60)
def format_elapsed_hr(t,now=None,cached={}):
now = now or time.time()
e = int(now - t)
e = int((now or time.time()) - t)
if not e in cached:
abs_e = abs(e)
d = abs_e // 86400 # 60 * 60 * 24
h = abs_e // 3600 % 24
m = abs_e // 60 % 60
cached[e] = '{d}{h}{m} minute{M} {w}'.format(
d = '{} day{}, '.format(d,suf(d)) if d else '',
h = '{} hour{}, '.format(h,suf(h)) if h else '',
m = m,
M = suf(m),
w = 'ago' if e > 0 else 'in the future' ) if (h or m) else 'just now'
cached[e] = ', '.join(
'{} {}{}'.format(n,desc,suf(n)) for desc,n in (
('day', abs_e // 86400),
('hour', abs_e // 3600 % 24),
('minute', abs_e // 60 % 60),
) if n
) + (' ago' if e > 0 else ' in the future') if abs_e // 60 else 'just now'
return cached[e]
def is_int(s):