28 lines
874 B
Python
28 lines
874 B
Python
import datetime
|
|
import sys
|
|
import time
|
|
|
|
class ArcTimer(object):
|
|
def __init__(self, sleep=3, timeout=None):
|
|
self.start = datetime.datetime.now()
|
|
self.sleep = sleep
|
|
self.timeout = timeout
|
|
|
|
def count_seconds(self):
|
|
self.seconds = (datetime.datetime.now() - self.start).total_seconds()
|
|
|
|
def is_timeout(self):
|
|
try:
|
|
assert(self.timeout is not None)
|
|
assert(self.seconds >= self.timeout)
|
|
sys.stdout.write("\rHit timeout when waiting for archive to complete ({} seconds)".format(self.seconds))
|
|
sys.stdout.flush()
|
|
return True
|
|
except:
|
|
return False
|
|
|
|
def report(self):
|
|
self.count_seconds()
|
|
sys.stdout.write("\rWaiting for archive to complete ({} seconds)".format(self.seconds))
|
|
sys.stdout.flush()
|
|
time.sleep(self.sleep) |