aboutsummaryrefslogtreecommitdiff
path: root/src/ee/tools/part_apply_souffle_post.py
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2019-05-27 15:16:12 +0200
committerTrygve Laugstøl <trygvis@inamo.no>2019-05-27 15:16:12 +0200
commitd8bb3aa6f51b331ef6ce3558707627be7a50c7ad (patch)
tree780e426f8286fe9223d1fa6235464868bbef3d7c /src/ee/tools/part_apply_souffle_post.py
parent94e8537430ab7496e4b8e697581d65b06cf8b979 (diff)
downloadee-python-d8bb3aa6f51b331ef6ce3558707627be7a50c7ad.tar.gz
ee-python-d8bb3aa6f51b331ef6ce3558707627be7a50c7ad.tar.bz2
ee-python-d8bb3aa6f51b331ef6ce3558707627be7a50c7ad.tar.xz
ee-python-d8bb3aa6f51b331ef6ce3558707627be7a50c7ad.zip
souffle:
o Allowing to set MPNs when importing facts. o ninja: Allowing the user to have its own datalog files under ee/custom/kicad-souffle.dl and ee/custom/$supplier-souffle.dl. make_bom: Generate per-field URIs for custom URIs. Better than making values that contain custom field name + value.
Diffstat (limited to 'src/ee/tools/part_apply_souffle_post.py')
-rw-r--r--src/ee/tools/part_apply_souffle_post.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/ee/tools/part_apply_souffle_post.py b/src/ee/tools/part_apply_souffle_post.py
index 4c23128..961b0c0 100644
--- a/src/ee/tools/part_apply_souffle_post.py
+++ b/src/ee/tools/part_apply_souffle_post.py
@@ -19,6 +19,8 @@ def work(in_path: Path, out_path: Path, work_dir: Path):
for part in in_parts:
out_parts.add_entry(part, False)
+ mpn_csv = work_dir / "out" / "mpn.csv"
+
with (work_dir / "out" / "fact.csv").open("r") as f:
reader = csv.reader(f, dialect="excel-tab")
for uri, key, value in reader:
@@ -33,6 +35,17 @@ def work(in_path: Path, out_path: Path, work_dir: Path):
print("New fact for {}: {}={}".format(uri, key, value))
part.facts.add(key, value)
+ if mpn_csv.is_file():
+ with mpn_csv.open("r") as f:
+ reader = csv.reader(f, dialect="excel-tab")
+ for uri, mpn in reader:
+ try:
+ part = uri_idx.get_single(uri)
+ except KeyError:
+ raise EeException("Unknown part found in output: uri={}".format(uri))
+
+ part.add_mpn(mpn)
+
save_db(out_path, out_parts)