Spaces:
Running
on
Zero
Running
on
Zero
# coding: utf-8 | |
""" | |
pretty printing class | |
""" | |
from __future__ import annotations | |
import os.path as osp | |
from typing import Tuple | |
def make_abs_path(fn): | |
return osp.join(osp.dirname(osp.realpath(__file__)), fn) | |
class PrintableConfig: # pylint: disable=too-few-public-methods | |
"""Printable Config defining str function""" | |
def __repr__(self): | |
lines = [self.__class__.__name__ + ":"] | |
for key, val in vars(self).items(): | |
if isinstance(val, Tuple): | |
flattened_val = "[" | |
for item in val: | |
flattened_val += str(item) + "\n" | |
flattened_val = flattened_val.rstrip("\n") | |
val = flattened_val + "]" | |
lines += f"{key}: {str(val)}".split("\n") | |
return "\n ".join(lines) | |