Package TEES :: Package Utils :: Module Timer
[hide private]

Source Code for Module TEES.Utils.Timer

 1  import time 
 2   
3 -class Timer:
4 - def __init__(self, startCount=True):
5 if startCount: 6 self.startTime = time.time() 7 else: 8 self.startTime = None 9 self.totalTime = 0
10
11 - def stop(self):
12 assert(self.startTime != None) 13 self.totalTime += time.time() - self.startTime 14 self.startTime = None
15
16 - def start(self):
17 assert(self.startTime == None) 18 self.startTime = time.time() 19 self.endTime = None
20
21 - def getElapsedTime(self):
22 if self.startTime != None: 23 now = time.time() 24 elapsedTime = now-self.startTime + self.totalTime 25 else: 26 elapsedTime = self.totalTime 27 return elapsedTime
28
29 - def startTimeToString(self):
30 return time.ctime(self.startTime)
31
32 - def elapsedTimeToString(self):
33 elapsedTime = self.getElapsedTime() 34 msecs = int(elapsedTime*1000) 35 hours = msecs / (3600*1000) 36 msecs = msecs % (3600*1000) 37 mins = msecs / (60*1000) 38 msecs = msecs % (60*1000) 39 secs = msecs / (1000) 40 msecs = msecs % (1000) 41 return str(hours) + ":" + str(mins) + ":" + str(secs) + ":" + str(msecs)
42
43 - def toString(self):
44 return "Time: " + self.elapsedTimeToString() + " (start: " + time.ctime(self.startTime) + ", now: " + time.ctime(time.time()) + ")"
45 46 if __name__=="__main__": 47 import sys 48 timer = Timer() 49 print >> sys.stderr, timer.toString() 50 time.sleep(1) 51 print >> sys.stderr, timer.toString() 52 time.sleep(10) 53 print >> sys.stderr, timer.toString() 54