diff --git a/src/tools.py b/src/tools.py index 902f2ea9988610965e4c08df42e7db6bddfd7dc0..d2f119174dbb528d7056e30e47b90478927481bf 100644 --- a/src/tools.py +++ b/src/tools.py @@ -29,7 +29,19 @@ def display_timers(): global _timers global _calls - print(f" +--{Style.BRIGHT}{Fore.BLUE}Timers{Style.RESET_ALL}------------------------------------------------------------------------------------------+") + fmax = max( + map( + lambda f: len(f.__qualname__) + len(f.__module__), + _timers + ) + ) + + head = " +--" + head += f"{Style.BRIGHT}{Fore.BLUE}Timers{Style.RESET_ALL}" + for t in range(fmax + 26): + head += "-" + head += "+" + print(head) lst = sorted( map( @@ -42,10 +54,14 @@ def display_timers(): for func, time, calls in lst: name = (f"{Fore.BLUE}{func.__module__}{Style.RESET_ALL}" + - f".{Style.BRIGHT}{Fore.GREEN}{func.__qualname__:<{64 - len(func.__module__)}}{Style.RESET_ALL}") + f".{Style.BRIGHT}{Fore.GREEN}{func.__qualname__:<{fmax - len(func.__module__)}}{Style.RESET_ALL}") print(f" | {name} | {time:>10.6f} sec | {calls:>5} calls |") - print(" +--------------------------------------------------------------------------------------------------+") + tail = " +--" + for t in range(fmax + 32): + tail += "-" + tail += "+" + print(tail) def timer(func): """Function wrapper to register function runtime"""