Source code for caspia.toolbox.reprf

import yaml


[docs]class ReprFields: def __repr__(self): return reprf_str(self)
[docs]def repr_fields(obj): if hasattr(obj, '__repr_fields__'): rpr = obj.__repr_fields__() elif isinstance(obj, list): rpr = [repr_fields(item) for item in obj] elif isinstance(obj, dict): rpr = {repr_fields(k): repr_fields(v) for k, v in obj.items()} else: rpr = repr(obj) return rpr
[docs]def reprf(obj): return repr_fields(obj)
[docs]def reprf_str(obj): return yaml.dump(reprf(obj), default_flow_style=False)