From 23059f6dc055ea23ec0fd43e01c3d4032dbf0dd7 Mon Sep 17 00:00:00 2001 From: Syed Tousif Ahmed Date: Thu, 26 Nov 2020 22:47:49 -0500 Subject: [PATCH 1/2] Fixes get_node_for_wire by initializing self.node Signed-off-by: Syed Tousif Ahmed --- prjxray/node_model.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/prjxray/node_model.py b/prjxray/node_model.py index 879f1cb3..8a1b5ca7 100644 --- a/prjxray/node_model.py +++ b/prjxray/node_model.py @@ -45,7 +45,7 @@ class NodeModel(): self.nodes = None - self.wire_to_node_map = None + self.wire_to_node_map = {} if progressbar is None: self.progressbar = lambda x: x @@ -143,6 +143,9 @@ class NodeModel(): return self.nodes[tile, wire] def _build_wire_to_node_map(self): + if self.nodes is None: + self._build_nodes() + for node, wires in self.nodes.items(): for tile_wire in wires: assert tile_wire not in self.wire_to_node_map @@ -150,7 +153,7 @@ class NodeModel(): def get_node_for_wire(self, tile, wire): """ Get node for specified tile and wire. """ - if self.wire_to_node_map is None: + if not self.wire_to_node_map: self._build_wire_to_node_map() return self.wire_to_node_map[tile, wire] From f5bfdc6c28ead8235727eb067524d83c931a52f7 Mon Sep 17 00:00:00 2001 From: Syed Tousif Ahmed Date: Mon, 30 Nov 2020 14:08:47 -0500 Subject: [PATCH 2/2] Addresses review comments. Signed-off-by: Syed Tousif Ahmed --- prjxray/node_model.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/prjxray/node_model.py b/prjxray/node_model.py index 8a1b5ca7..d187c57a 100644 --- a/prjxray/node_model.py +++ b/prjxray/node_model.py @@ -45,7 +45,7 @@ class NodeModel(): self.nodes = None - self.wire_to_node_map = {} + self.wire_to_node_map = None if progressbar is None: self.progressbar = lambda x: x @@ -143,6 +143,8 @@ class NodeModel(): return self.nodes[tile, wire] def _build_wire_to_node_map(self): + self.wire_to_node_map = {} + if self.nodes is None: self._build_nodes() @@ -153,7 +155,7 @@ class NodeModel(): def get_node_for_wire(self, tile, wire): """ Get node for specified tile and wire. """ - if not self.wire_to_node_map: + if self.wire_to_node_map is None: self._build_wire_to_node_map() return self.wire_to_node_map[tile, wire]