123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- # -*- coding: utf-8 -*-
- from functools import wraps
- import logging
- import time as t
- __author__ = 'Cahyo Primawidodo'
- __email__ = 'cahyo.p@gmail.com'
- __version__ = '0.1.0'
- def debug_log(lvl=logging.DEBUG, logger_name=None):
- def enable(f):
- logger = logging.getLogger(logger_name)
- @wraps(f)
- def wrapper(*args, **kwargs):
- init = logger.getEffectiveLevel()
- logger.setLevel(lvl)
- print('\n# function: {}'.format(f.__name__))
- y = f(*args, **kwargs)
- logger.setLevel(init)
- return y
- return wrapper
- return enable
- def time_this(fmt, multiplier=1, **print_kwargs):
- def enable(f):
- @wraps(f)
- def wrapper(*args, **kwargs):
- start_t = t.time()
- y = f(*args, **kwargs)
- end_t = t.time()
- print('\n# function: {}'.format(f.__name__))
- print(fmt.format(multiplier * (end_t-start_t)), **print_kwargs)
- return y
- return wrapper
- return enable
- def peek_vars():
- def enable(f):
- @wraps(f)
- def wrapper(*args, **kwargs):
- y = f(*args, **kwargs)
- print('\n# function: {}'.format(f.__name__))
- print('args: {}'.format(str(args)))
- print('kwargs: {}'.format(str(kwargs)))
- print('return: {}'.format(str(y)))
- return y
- return wrapper
- return enable
|