Skip to content

Commit

Permalink
FIX: primitive by layer crash with none object (#493)
Browse files Browse the repository at this point in the history
* primitives by layer crash fix in case on non assigned layer one

* primitives by layer crash fix in case on non assigned layer one
  • Loading branch information
svandenb-dev authored May 22, 2024
1 parent e8ee1fe commit 9300e13
Showing 1 changed file with 13 additions and 8 deletions.
21 changes: 13 additions & 8 deletions src/pyedb/dotnet/edb_core/layout.py
Original file line number Diff line number Diff line change
Expand Up @@ -152,10 +152,12 @@ def primitives_by_layer(self):
for lay in self.layers:
_primitives_by_layer[lay] = []
for i in self._layout.primitives:
lay = i.GetLayer().GetName()
if not lay:
try:
lay = i.GetLayer().GetName()
_primitives_by_layer[lay].append(cast(i, self._pedb))
except:
self._logger.warning(f"Failed to get layer on primitive {i.id}, skipping.")
continue
_primitives_by_layer[lay].append(cast(i, self._pedb))
return _primitives_by_layer

@property
Expand Down Expand Up @@ -233,11 +235,14 @@ def get_polygons_by_layer(self, layer_name, net_list=None):
"""
objinst = []
for el in self.polygons:
if el.GetLayer().GetName() == layer_name:
if net_list and el.GetNet().GetName() in net_list:
objinst.append(el)
else:
objinst.append(el)
try:
if el.GetLayer().GetName() == layer_name:
if net_list and el.GetNet().GetName() in net_list:
objinst.append(el)
else:
objinst.append(el)
except:
self._logger.warning(f"Failed to retrieve layer on polygon {el.id}")
return objinst

@pyedb_function_handler()
Expand Down

0 comments on commit 9300e13

Please sign in to comment.