Spaces:
Runtime error
Runtime error
File size: 1,626 Bytes
0241217 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
"""Utilities for logging"""
import logging
from tqdm import tqdm
from termcolor import colored
def color(string: str, color_name: str = 'yellow') -> str:
"""Returns colored string for output to terminal"""
return colored(string, color_name)
def print_update(message: str, width: int = 140, fillchar: str = ":", color="yellow") -> str:
"""Prints an update message
Args:
message (str): message
width (int): width of new update message
fillchar (str): character to be filled to L and R of message
Returns:
str: print-ready update message
"""
message = message.center(len(message) + 2, " ")
print(colored(message.center(width, fillchar), color))
def set_logger(log_path):
"""Set the logger to log info in terminal and file `log_path`.
Args:
log_path (str): path to the log file
"""
logger = logging.getLogger()
logger.setLevel(logging.INFO)
if not logger.handlers:
# Logging to a file
file_handler = logging.FileHandler(log_path)
file_handler.setFormatter(logging.Formatter('%(asctime)s:%(levelname)s: %(message)s'))
logger.addHandler(file_handler)
# Logging to console
stream_handler = logging.StreamHandler()
stream_handler.setFormatter(logging.Formatter('%(message)s'))
logger.addHandler(stream_handler)
def tqdm_iterator(items, desc=None, bar_format=None, **kwargs):
tqdm._instances.clear()
iterator = tqdm(
items,
desc=desc,
bar_format='{l_bar}{bar:10}{r_bar}{bar:-10b}',
**kwargs,
)
return iterator |