from datetime import timedelta from time import perf_counter from structlog import getLogger LOG = getLogger(__name__) def printf_code(msg): # pragma: no cover """Print with markdown for code block.""" print('```\n' + msg + '```') def printf_keyval(key, val): # pragma: no cover """Print with some basic formatting for key-value pairs""" print(f'\t**{key}:**\t\t`{val}`') class Stopwatch: def __init__(self): self.time_start = perf_counter() def get_end(self): return timedelta(seconds=perf_counter() - self.time_start) def get_end_seconds(self, end=None): if not end: end = self.get_end() return end.total_seconds() def get_end_str(self, end=None): if not end: end = self.get_end() pieces = str(end).split(':') # noqa out = '{} hours, {} minutes, {} seconds'.format( pieces[0], pieces[1], pieces[2], ) return out