blockdiag / nwdiag

Apache License 2.0
118 stars 20 forks source link

Networks are not comparable #44

Open b-spruck opened 1 year ago

b-spruck commented 1 year ago

https://github.com/blockdiag/nwdiag/blob/04bbb4581e90ea891fe826be6c82f4aaee522f26/src/nwdiag/metrics.py#L162

This line crashes with

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/blockdiag/utils/bootstrap.py", line 54, in run
    return self.build_diagram(parsed)
  File "/usr/lib/python3/dist-packages/blockdiag/utils/bootstrap.py", line 103, in build_diagram
    drawer.draw()
  File "/usr/lib/python3/dist-packages/blockdiag/drawer.py", line 96, in draw
    self._draw_elements(**kwargs)
  File "/usr/lib/python3/dist-packages/nwdiag/drawer.py", line 139, in _draw_elements
    super(DiagramDraw, self)._draw_elements()
  File "/usr/lib/python3/dist-packages/blockdiag/drawer.py", line 142, in _draw_elements
    self.group_label(node, **kwargs)
  File "/usr/lib/python3/dist-packages/nwdiag/drawer.py", line 175, in group_label
    m = self.metrics.cell(group)
  File "/usr/lib/python3/dist-packages/nwdiag/metrics.py", line 59, in cell
    metrics = GroupMetrics(node, self, n.x1, n.y1, n.x2, n.y2)
  File "/usr/lib/python3/dist-packages/nwdiag/metrics.py", line 162, in __init__
    network = min(networks)
TypeError: '<' not supported between instances of 'Network' and 'Network'

replacing with network = min(networks) with network = networks[0] solves it magically, but may have side effects?