1 """What doesn't fit elsewhere so far."""
6 """Template for display chain nodes providing .as_dict_and_refs."""
7 # pylint: disable=too-few-public-methods
8 _to_dict: list[str] = []
10 def __init__(self, *args: Any) -> None:
11 for i, arg in enumerate(args):
12 setattr(self, self._to_dict[i], arg)
15 def as_dict_and_refs(self) -> tuple[dict[str, object], list[Any]]:
16 """Return self as json.dumps-ready dict, list of referenced objects."""
19 for name in self._to_dict:
20 attr = getattr(self, name)
21 if hasattr(attr, 'id_'):
24 if isinstance(attr, list):
27 item_d, item_refs = item.as_dict_and_refs
29 for item_ref in [r for r in item_refs if r not in refs]: