Guest User

Untitled

a guest
Jan 19th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1. class Track:
  2. def print_result(self, name, start_time, end_time):
  3. time_delta = end_time - start_time
  4. result = '%r took: %2.4f sec' % (name, time_delta)
  5. print(result)
  6.  
  7. def time(self, func):
  8. @wraps(func)
  9. def func_wrapper(*args, **kwargs):
  10. start_time = time.time()
  11. func_result = func(*args, **kwargs)
  12. self.print_result(func.__name__, start_time, time.time())
  13. return func_result
  14. return func_wrapper
  15.  
  16. def partial(self, partial_name):
  17. _self = self
  18.  
  19. class class_wrapper:
  20. def __enter__(self):
  21. self.start_time = time.time()
  22. return self
  23.  
  24. def __exit__(self, type, value, traceback):
  25. _self.print_result(partial_name, self.start_time, time.time())
  26.  
  27. return class_wrapper()
  28.  
  29. track = Track()
Add Comment
Please, Sign In to add comment