Skip to content

Commit 0715337

Browse files
committed
[#35] Clean up NXMap string functions
1 parent 575da18 commit 0715337

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

mappymatch/maps/nx/nx_map.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,20 @@ def __init__(self, graph: nx.MultiDiGraph):
5353
self._nodes = [nid for nid in self.g.nodes()]
5454
self._roads = self._build_rtree()
5555

56+
def _strip_verbose_data(self):
57+
too_verbose = ('_nodes', '_roads')
58+
base_dict = {k: v for k, v in self.__dict__.items() if not k in too_verbose}
59+
for label in too_verbose:
60+
member_len = len(eval(f'self.{label}'))
61+
base_dict[label] = f'list of {member_len} elements'
62+
return ', '.join(f'{k}: {v}' for k, v in base_dict.items())
63+
64+
def __str__(self):
65+
return 'NXMap(' + self._strip_verbose_data() + ')'
66+
67+
def __repr__(self):
68+
return 'NXMap(' + self._strip_verbose_data() + ')'
69+
5670
def _build_rtree(self) -> List[Road]:
5771
road_lookup = []
5872

0 commit comments

Comments
 (0)