45 lines
1.6 KiB
Python
45 lines
1.6 KiB
Python
import json
|
|
import sys
|
|
import shutil
|
|
|
|
proj = sys.argv[1]
|
|
pcb = sys.argv[2]
|
|
|
|
print("Starting post_panel script")
|
|
|
|
dest_folder = '/'.join(proj.split('/')[:-1])
|
|
dest_name = proj.split('/')[-1].removesuffix(".kicad_pro")
|
|
|
|
src_name = pcb.removesuffix(".kicad_pcb")
|
|
src_proj = src_name + ".kicad_pro"
|
|
|
|
try:
|
|
shutil.copy(src_name + ".kicad_dru", dest_folder + "/" + dest_name + ".kicad_dru")
|
|
except Exception:
|
|
pass
|
|
|
|
json_file = open(src_proj)
|
|
json_str = json_file.read()
|
|
src = json.loads(json_str)
|
|
|
|
json_file = open(proj)
|
|
json_str = json_file.read()
|
|
dest = json.loads(json_str)
|
|
dest["board"]["design_settings"]["rule_severities"]["duplicate_footprints"] = "ignore"
|
|
dest["board"]["design_settings"]["rule_severities"]["extra_footprint"] = "ignore"
|
|
dest["board"]["design_settings"]["rule_severities"]["lib_footprint_issues"] = "ignore"
|
|
dest["board"]["design_settings"]["rule_severities"]["lib_footprint_mismatch"] = "ignore"
|
|
dest["board"]["design_settings"]["rule_severities"]["hole_near_hole"] = "ignore"
|
|
dest["board"]["design_settings"]["rule_severities"]["silk_overlap"] = "ignore"
|
|
dest["board"]["design_settings"]["rule_severities"]["silk_over_copper"] = "ignore"
|
|
dest["board"]["design_settings"]["rule_severities"]["drill_out_of_range"] = "ignore"
|
|
# This one is just until kibot image is updated to 7.0.5
|
|
dest["board"]["design_settings"]["rule_severities"]["copper_sliver"] = "ignore"
|
|
dest["net_settings"]["classes"] = src["net_settings"]["classes"]
|
|
dest["net_settings"]["netclass_patterns"] = src["net_settings"]["netclass_patterns"]
|
|
|
|
with open(proj, mode="w") as json_file:
|
|
json.dump(dest, json_file, indent=2)
|
|
|
|
print("Finished post_panel script")
|