Skip to content

Commit

Permalink
Added Timer to cameo.util http://stackoverflow.com/a/5849861/280182
Browse files Browse the repository at this point in the history
Works like:
with Timer('Some tag ...'):
    code ...
  • Loading branch information
phantomas1234 committed Sep 3, 2014
1 parent 7d5830c commit a6e0815
Showing 1 changed file with 35 additions and 4 deletions.
39 changes: 35 additions & 4 deletions cameo/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -140,11 +140,11 @@ def generate_colors(n):


class ProgressBar(object):
def __init__(self, size):
def __init__(self, *args, **kwargs):
if in_ipnb():
self.progress_bar = ipython_notebook_utils.ProgressBar(size)
self.progress_bar = ipython_notebook_utils.ProgressBar(*args, **kwargs)
else:
self.progress_bar = progressbar.ProgressBar(size)
self.progress_bar = progressbar.ProgressBar(*args, **kwargs)

def start(self):
self.progress_bar.start()
Expand All @@ -153,4 +153,35 @@ def update(self, value):
if isinstance(self.progress_bar, ipython_notebook_utils.ProgressBar):
self.progress_bar.set(value)
else:
self.progress_bar.update(value)
self.progress_bar.update(value)

def __call__(self, iterable):
if isinstance(self.progress_bar, ipython_notebook_utils.ProgressBar):
self.progress_bar.size = len(iterable)

def _(iterable):
count = 0
self.progress_bar.set(0)
for item in iterable:
count += 1
self.progress_bar.set(count)
yield item


else:
return self.progress_bar(iterable)


class Timer(object):
"""Taken from http://stackoverflow.com/a/5849861/280182"""

def __init__(self, name=None):
self.name = name

def __enter__(self):
self.tstart = time()

def __exit__(self, type, value, traceback):
if self.name:
print '[%s]' % self.name,
print 'Elapsed: %s' % (time() - self.tstart)

0 comments on commit a6e0815

Please sign in to comment.