| |
|
|
| """ |
| 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: |
| """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) |
|
|