From fa85d46af0b91477cf354947df628af0dc0d2800 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Thu, 28 Mar 2019 16:38:50 +0100 Subject: ee.xsd: o Renaming to . o Adding on , removing from . A part can have exactly one part. create-order: o Creating anonymous part objects, with two references, one schematic reference and one part-uri reference to the selected part. o Redoing how the order is calculated with the new ObjDb structure. ee.part.Part: o Absorbing bom_file_utils into Part. Much better wrapper object around the xml goop. --- demo/thirdparty/olinuxino/py/olinuxino.py | 35 +++++++++++++++---------------- 1 file changed, 17 insertions(+), 18 deletions(-) (limited to 'demo/thirdparty/olinuxino/py/olinuxino.py') diff --git a/demo/thirdparty/olinuxino/py/olinuxino.py b/demo/thirdparty/olinuxino/py/olinuxino.py index 0b6fd1e..49b634f 100644 --- a/demo/thirdparty/olinuxino/py/olinuxino.py +++ b/demo/thirdparty/olinuxino/py/olinuxino.py @@ -3,9 +3,8 @@ import re from ee import EeException, EeVal from ee.kicad import Component from ee.kicad.make_bom import MakeBomStrategy -from ee.xml import types, bom_file_utils -from ee.part import fact_keys -from ee.xml.bom_file_utils import facts +from ee.xml import types +from ee.part import fact_keys, Part c_value_re = re.compile("([0-9]+\\.?[0-9]*[mupn]F)/([0-9]+\\.?[0-9]*[k]?V)/([0-9]+)%(?:/([A-Z][0-9][A-Z]))?") r_value_re = re.compile(r"([^/]+)(?:/([^/]+)(?:/([^/]+))?)?") @@ -14,14 +13,14 @@ r_value_re = re.compile(r"([^/]+)(?:/([^/]+)(?:/([^/]+))?)?") class OlinuxinoMakeBomStrategy(MakeBomStrategy): @staticmethod - def set_default(fs, fact_key: str, value): - fact = bom_file_utils.find_fact(fs, fact_key) + def set_default(part: Part, fact_key: str, value): + fact = part.find_fact(fact_key) if fact: return - fs.add_fact(types.Fact(key=fact_key, value=value)) + part.get_facts().append(types.Fact(key=fact_key, value=value)) - def process_part(self, component: Component, part: types.Part): + def process_part(self, component: Component, part: Part): debug = False print(component.ref) @@ -35,7 +34,7 @@ class OlinuxinoMakeBomStrategy(MakeBomStrategy): s = component.footprint.split(":") fp_lib, fp_part = s[0], s[1] - fs = facts(part, create=True) + fs = part.get_facts() na = v.startswith("NA(") and v.endswith(")") or v == "NA" if na: @@ -63,11 +62,11 @@ class OlinuxinoMakeBomStrategy(MakeBomStrategy): if na: print(" NA".format()) - fs.add_fact(types.Fact(key=fact_keys.capacitance, value=capacitance)) - fs.add_fact(types.Fact(key=fact_keys.max_voltage, value=voltage)) - fs.add_fact(types.Fact(key=fact_keys.value_tolerance, value=tolerance)) + fs.append(types.Fact(key=fact_keys.capacitance, value=capacitance)) + fs.append(types.Fact(key=fact_keys.max_voltage, value=voltage)) + fs.append(types.Fact(key=fact_keys.value_tolerance, value=tolerance)) if rs_198_class_2: - fs.add_fact(types.Fact(key=fact_keys.rs_198_class_2, value=rs_198_class_2)) + fs.append(types.Fact(key=fact_keys.rs_198_class_2, value=rs_198_class_2)) elif component.ref_type == "R": # NA @@ -89,18 +88,18 @@ class OlinuxinoMakeBomStrategy(MakeBomStrategy): resistance = str(EeVal.parse(resistance)) - fs.add_fact(types.Fact(key=fact_keys.resistance, value=resistance)) + fs.append(types.Fact(key=fact_keys.resistance, value=resistance)) if tolerance: - fs.add_fact(types.Fact(key=fact_keys.value_tolerance, value=tolerance)) + fs.append(types.Fact(key=fact_keys.value_tolerance, value=tolerance)) if size: - fs.add_fact(types.Fact(key=fact_keys.imperial_footprint_size, value=size)) + fs.append(types.Fact(key=fact_keys.imperial_footprint_size, value=size)) - self.set_default(fs, fact_keys.value_tolerance, "10%") + self.set_default(part, fact_keys.value_tolerance, "10%") else: - fs.add_fact(types.Fact(key=fact_keys.value, value=v)) + fs.append(types.Fact(key=fact_keys.value, value=v)) if na: - fs.add_fact(types.Fact(key=fact_keys.place_part, value="no")) + fs.append(types.Fact(key=fact_keys.place_part, value="no")) # raise EeException("Unknown component kind: ref={}, ref type:{}, value={}, fp_lib={}, fp_part={}". # format(component.ref, component.ref_type, v, fp_lib, fp_part)) -- cgit v1.2.3