don't crash on stalls

main
xenofem 2021-11-22 20:10:58 -05:00
parent af7bb62a13
commit 465fb2ba5d
1 changed files with 11 additions and 9 deletions

View File

@ -3,6 +3,7 @@
import argparse
import datetime
import subprocess
import sys
import time
WINDOW_SIZE = 100
@ -72,18 +73,19 @@ while True:
rate = (current - samples[0])/((len(samples)-1)*args.interval)
print('\033[2K\r', end='')
print('{} - {}/s'.format(display_value(current), display_value(rate)), end='', flush=True)
print('{} - {}/s'.format(display_value(current), display_value(rate)), end='')
if final:
fraction = current / final
value_remaining = final - current
time_remaining = datetime.timedelta(seconds=(value_remaining / rate))
eta = datetime.datetime.now() + time_remaining
print(' - {} total - {:.1f}% complete - {} remaining - ETA {}'.format(
display_value(final),
100*fraction,
display_timedelta(time_remaining),
eta.isoformat(sep=' ', timespec='minutes'),
), end='', flush=True)
print(' - {} total - {:.1f}% complete'.format(display_value(final), 100*fraction), end='')
if rate > 0:
time_remaining = datetime.timedelta(seconds=(value_remaining / rate))
eta = datetime.datetime.now() + time_remaining
print(' - {} remaining - ETA {}'.format(
display_timedelta(time_remaining),
eta.isoformat(sep=' ', timespec='minutes'),
), end='')
sys.stdout.flush()
if final and current >= final:
print()