def test_layout_from_json(): json_str = '{"cols": 1, "keys": [{"col": 0, "position": {"angle": 1, "width": 1, "x": 1, "y": 1}, "row": 0}], "rows": 1}' layout = Layout.from_json(json_str) expected_key = Key(0, 0, Position(1, 1, 1, 1)) expected_layout = Layout(1, 1, [expected_key]) assert layout == expected_layout
def main(): if len(sys.argv) < 2: print("usage: python {} file_name <json_layout>".format(sys.argv[0])) sys.exit(1) f_name = sys.argv[1] print(sys.argv) if len(sys.argv) == 2: json_str = sys.stdin.read() else: with open(sys.argv[2]) as f: json_str = f.read() pcb = pcbnew.LoadBoard(f_name) pcb.BuildListOfNets() layout = Layout.from_json(json_str) for key in layout.keys: place_key(pcb, key) place_diode(pcb, key) pcb.Save("out.kicad_pcb")
def test_idempotent_json(): key = Key(0, 0, Position(1, 1, 1, 1)) layout = Layout(1, 1, [key]) assert Layout.from_json(layout.to_json()) == layout