aboutsummaryrefslogtreecommitdiff
path: root/src/ee/part/create_distributor_search_list.py
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2019-02-26 23:08:19 +0100
committerTrygve Laugstøl <trygvis@inamo.no>2019-02-26 23:08:19 +0100
commit97c8bb9db96e27051f8746865f657408263db0b8 (patch)
tree604cb6e9b87e79f43e54940adbc83520e89940fe /src/ee/part/create_distributor_search_list.py
parent80e0623913e87c6480049520590e424a831e0401 (diff)
downloadee-python-97c8bb9db96e27051f8746865f657408263db0b8.tar.gz
ee-python-97c8bb9db96e27051f8746865f657408263db0b8.tar.bz2
ee-python-97c8bb9db96e27051f8746865f657408263db0b8.tar.xz
ee-python-97c8bb9db96e27051f8746865f657408263db0b8.zip
o Creating a PartDb that manages a file system directory with one xml
file per part. o Switching xml-based code to use PartDb.
Diffstat (limited to 'src/ee/part/create_distributor_search_list.py')
-rw-r--r--src/ee/part/create_distributor_search_list.py33
1 files changed, 33 insertions, 0 deletions
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)