diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2017-12-12 12:02:29 +0100 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2017-12-15 07:30:35 +0100 |
commit | 102614dc8fe2f5aefd0fd92c1b6e48107a9629b0 (patch) | |
tree | 341436f8afc4a29819e59b199eb629a80ffd2df0 /src/ee/kicad/__init__.py | |
parent | 6cd194703674268b313918b590f2bc483c641efa (diff) | |
download | ee-python-102614dc8fe2f5aefd0fd92c1b6e48107a9629b0.tar.gz ee-python-102614dc8fe2f5aefd0fd92c1b6e48107a9629b0.tar.bz2 ee-python-102614dc8fe2f5aefd0fd92c1b6e48107a9629b0.tar.xz ee-python-102614dc8fe2f5aefd0fd92c1b6e48107a9629b0.zip |
o Adding a kicad-make-pos tool.
Diffstat (limited to 'src/ee/kicad/__init__.py')
-rw-r--r-- | src/ee/kicad/__init__.py | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/ee/kicad/__init__.py b/src/ee/kicad/__init__.py index 8d5acd1..1492fc4 100644 --- a/src/ee/kicad/__init__.py +++ b/src/ee/kicad/__init__.py @@ -3,6 +3,7 @@ from typing import Any from ee import EeException from ee.kicad.read_schematic import read_schematic, read_schematics from ee.kicad.to_bom import to_bom, to_bom_xml +from .._utils import run_filters from .model import * __all__ = [ @@ -17,17 +18,20 @@ __all__ = [ "to_pandas", ] +def parse_ref(ref): + m = parse_ref.r.match(ref) + if not m: + return + g = m.groups() +# print("groups={}".format(g)) + return (g[0], None if g[1] == "?" else int(g[1])) + +parse_ref.r = re.compile("([^0-9]+)([0-9]+|\?)$") def to_pandas(obj: Any, **kwarg): import pandas import numpy as np - def run_filter(filters, obj): - for f in filters: - if not f(obj): - return False - return True - def to_pandas_schematics(ss: Schematics): dfs = [to_pandas_schematic(schematic) for schematic in ss.schematics] @@ -65,7 +69,7 @@ def to_pandas(obj: Any, **kwarg): if not include_flg: filters.append(lambda c: c.ref_type != "#FLG") - data = [make_dict(c) for c in components if run_filter(filters, c)] + data = [make_dict(c) for c in components if run_filters(filters, c)] columns = set([key for row in data for key in list(row)]) - set(special_fields) columns = special_fields + list(columns) |