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
Beispiel #2
0
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