From 538ab0eb3fb9ee592f2df962734c4d7e1d5f0eb4 Mon Sep 17 00:00:00 2001 From: Maciej Suminski Date: Mon, 14 May 2018 17:38:24 +0200 Subject: [PATCH] kicad_netlist_reader.py: Handle gracefully the case when a library symbol is not available for a component --- .../python_scripts/kicad_netlist_reader.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/eeschema/plugins/python_scripts/kicad_netlist_reader.py b/eeschema/plugins/python_scripts/kicad_netlist_reader.py index 407f572504..be6c7791fc 100644 --- a/eeschema/plugins/python_scripts/kicad_netlist_reader.py +++ b/eeschema/plugins/python_scripts/kicad_netlist_reader.py @@ -372,7 +372,7 @@ class comp(): """ field = self.element.get("field", "name", name) - if field == "" and libraryToo: + if field == "" and libraryToo and self.libpart: field = self.libpart.getField(name) return field @@ -394,13 +394,13 @@ class comp(): def getFootprint(self, libraryToo=True): ret = self.element.get("footprint") - if ret =="" and libraryToo: + if ret == "" and libraryToo and self.libpart: ret = self.libpart.getFootprint() return ret def getDatasheet(self, libraryToo=True): ret = self.element.get("datasheet") - if ret == '' and libraryToo: + if ret == "" and libraryToo and self.libpart: ret = self.libpart.getDatasheet() return ret @@ -408,6 +408,9 @@ class comp(): return self.element.get("tstamp") def getDescription(self): + if not self.libpart: + return "" + return self.libpart.getDescription() @@ -681,7 +684,12 @@ class netlist(): ret = c.getField(field, False) if ret != '': return ret - return group[0].getLibPart().getField(field) + + libpart = group[0].getLibPart() + if not libpart: + return '' + + return libpart.getField(field) def getGroupFootprint(self, group): """Return the whatever is known about the Footprint by consulting each