laptimer.py
# -*- encoding: utf-8 -*-
__version__ = '0.0.1'
from time import time, sleep
#---------------------------------------------------------------
# LapTimer CLASS
#---------------------------------------------------------------
class LapTimer(object):
"""
For example:
from laptimer import LapTimer
timer = LapTimer("TEST SCRIPT")
timer.lap("start script")
for i in xrange(3):
sleep(i+1)
timer.lap('sleep time %d sec' % (i+1))
timer.get_lap()
Returns:
-------------------------
TEST SCRIPT
Lap : Total : message
-------------------------
0.000 : 0.000 : start script
1.002 : 1.002 : sleep time 1 sec
2.003 : 3.005 : sleep time 2 sec
3.004 : 6.009 : sleep time 3 sec
"""
def __init__(self, name = None):
self.start_time = self.now_time = self.last_time = time()
self.name = name
self.time_list = []
def lap(self, message=None):
self.now_time = time()
self.lap_time = self.now_time - self.last_time
self.total_time = self.now_time - self.start_time
time_list = (self.lap_time, self.total_time, message)
self.time_list.append(time_list)
self.last_time = self.now_time
return ' %5.3f - %5.3f - %s' % time_list
def get_lap(self):
print '-' * 25
print '%s' % self.name
print ' %5s : %5s : message' % ('Lap', 'Total')
print '-' * 25
for i in self.time_list:
print ' %5.3f : %5.3f : %s' % i
#---------------------------------------------------------------
# TEST
#---------------------------------------------------------------
def test():
'''
TEST
'''
timer = LapTimer("TEST SCRIPT")
timer.lap("start script")
for i in xrange(3):
sleep(i+1)
timer.lap('sleep time %d sec' % (i+1))
timer.get_lap()
if __name__ == '__main__': test()