diff options
Diffstat (limited to 'src/ee/element14/search_parts.py')
-rw-r--r-- | src/ee/element14/search_parts.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/ee/element14/search_parts.py b/src/ee/element14/search_parts.py new file mode 100644 index 0000000..724485c --- /dev/null +++ b/src/ee/element14/search_parts.py @@ -0,0 +1,31 @@ +from pathlib import Path + +from ee.element14 import * +from ee.part import PartDb, load_db, save_db +from ee.xml import bom_file_utils, bomFile + +__all__ = ["search_parts"] + + +def search_parts(in_dir: Path, out_dir: Path, cache_dir: Path, config: Element14Config): + in_db = load_db(in_dir) + out_parts = PartDb() + + client = Element14Client(config, cache_dir) + + for part in in_db.iterparts(): + mpn = bom_file_utils.find_pn(part) + + query = mpn # TODO: suppor dpn + + out_id = query + + client.search(term="manuPartNum:" + query) + + out_part = bomFile.Part(id=out_id, + distributor_info=bomFile.DistributorInfo(), + part_numbers=part.part_numbersProp) + di = out_part.distributor_infoProp + + print("Saving {} work parts".format(out_parts.size())) + save_db(out_dir, out_parts) |