diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2017-09-24 09:46:21 +0200 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2017-09-24 09:46:21 +0200 |
commit | 930e3d61917bd4bf162142db64301691afdf9539 (patch) | |
tree | f2e06b6aef12026a5f99742ca78f178f63f5037b /src/ee/kicad | |
parent | 33a03ca8cb65202509bd009832010f8f587ace47 (diff) | |
download | ee-python-930e3d61917bd4bf162142db64301691afdf9539.tar.gz ee-python-930e3d61917bd4bf162142db64301691afdf9539.tar.bz2 ee-python-930e3d61917bd4bf162142db64301691afdf9539.tar.xz ee-python-930e3d61917bd4bf162142db64301691afdf9539.zip |
o Let digikey-download-facts read .sch files directly.
Diffstat (limited to 'src/ee/kicad')
-rw-r--r-- | src/ee/kicad/__init__.py | 3 | ||||
-rw-r--r-- | src/ee/kicad/model.py | 9 | ||||
-rw-r--r-- | src/ee/kicad/to_bom.py | 8 |
3 files changed, 17 insertions, 3 deletions
diff --git a/src/ee/kicad/__init__.py b/src/ee/kicad/__init__.py index adf8ddd..5187a9c 100644 --- a/src/ee/kicad/__init__.py +++ b/src/ee/kicad/__init__.py @@ -2,7 +2,7 @@ from typing import Any from ee import EeException from ee.kicad.read_schematic import read_schematic -from ee.kicad.to_bom import to_bom +from ee.kicad.to_bom import to_bom, to_bom_xml from .model import * __all__ = [ @@ -12,6 +12,7 @@ __all__ = [ "Schematic", "read_schematic", "to_bom", + "to_bom_xml", "to_pandas", ] diff --git a/src/ee/kicad/model.py b/src/ee/kicad/model.py index f112e72..b230f94 100644 --- a/src/ee/kicad/model.py +++ b/src/ee/kicad/model.py @@ -105,6 +105,10 @@ class Component(object): return self.ref_type == "#PWR" @property + def is_flg(self) -> bool: + return self.ref_type == "#FLG" + + @property def value(self): return self._fields[1].value @@ -120,6 +124,11 @@ class Component(object): def named_fields(self): return [f for f in self._fields if f.name] + def get_field(self, name) -> ComponentField: + for f in self.fields: + if name.lower() == f.name.lower(): + return f + class Sheet(object): def __init__(self): diff --git a/src/ee/kicad/to_bom.py b/src/ee/kicad/to_bom.py index d684486..ecab211 100644 --- a/src/ee/kicad/to_bom.py +++ b/src/ee/kicad/to_bom.py @@ -34,7 +34,11 @@ def comp(c: Component) -> Element: return comp -def to_bom(schematic: Schematic) -> Element: +def to_bom(schematic: Schematic) -> Component: + return [c for c in sorted(schematic.components) if c.ref_type != "#PWR" and c.ref_type != "#FLG"] + + +def to_bom_xml(schematic: Schematic) -> Element: root = Element("export") root.attrib["version"] = "D" design = Element("design") @@ -42,6 +46,6 @@ def to_bom(schematic: Schematic) -> Element: components = Element("components") root.append(components) - [components.append(comp(c)) for c in sorted(schematic.components) if c.ref_type != "#PWR" and c.ref_type != "#FLG"] + [components.append(comp(c)) for c in to_bom(schematic)] return root |