From 97c8bb9db96e27051f8746865f657408263db0b8 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Tue, 26 Feb 2019 23:08:19 +0100 Subject: o Creating a PartDb that manages a file system directory with one xml file per part. o Switching xml-based code to use PartDb. --- src/ee/part/create_distributor_search_list.py | 33 +++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/ee/part/create_distributor_search_list.py (limited to 'src/ee/part/create_distributor_search_list.py') diff --git a/src/ee/part/create_distributor_search_list.py b/src/ee/part/create_distributor_search_list.py new file mode 100644 index 0000000..ef91e1f --- /dev/null +++ b/src/ee/part/create_distributor_search_list.py @@ -0,0 +1,33 @@ +from pathlib import Path + +from ee.part import PartDb, load_db, save_db +from ee.xml.bom_file_utils import * + +__all__ = ["create_distributor_search_list"] + + +def create_distributor_search_list(in_dir: Path, out_dir: Path): + print("in: {}, out: {}".format(in_dir, out_dir)) + + in_parts = load_db(in_dir) + out_parts = PartDb() + + print("loaded {} existing parts".format(in_parts.size())) + + for part in in_parts.iterparts(): + pn_value = find_pn(part) + + if pn_value is None: + print("Skipping part with no part number: id={}".format(part.idProp)) + continue + + entry = out_parts.find_by_pn(pn_value) + + if entry is not None: + continue + + part.id = pn_value + out_parts.add_entry(part, True) + + print("Saving {} work parts".format(out_parts.size())) + save_db(out_dir, out_parts) -- cgit v1.2.3