(args)
| 68 | |
| 69 | |
| 70 | def cmd_netlist(args): |
| 71 | _qt_app() |
| 72 | input_path = Path(args.input) |
| 73 | |
| 74 | from .component_item import ComponentItem |
| 75 | from .wire_item import WireItem |
| 76 | from .command_item import CommandItem |
| 77 | from .analysis_item import AnalysisItem |
| 78 | from .library_item import LibraryItem |
| 79 | from .parameter_item import ParameterItem |
| 80 | from .netlist import build_netlist, NetlistError |
| 81 | |
| 82 | scene, data = _load_scene(input_path) |
| 83 | output_path = Path(args.output) if args.output else _default_output(input_path, "cir", ".cir") |
| 84 | items = scene.items() |
| 85 | comps = [i for i in items if isinstance(i, ComponentItem)] |
| 86 | wires = [i for i in items if isinstance(i, WireItem)] |
| 87 | cmds = [i for i in items if isinstance(i, (CommandItem, AnalysisItem))] |
| 88 | libs = [i for i in items if isinstance(i, LibraryItem)] |
| 89 | prms = [i for i in items if isinstance(i, ParameterItem)] |
| 90 | title = getattr(args, "title", None) or data.properties.title or input_path.stem |
| 91 | |
| 92 | try: |
| 93 | text = build_netlist(comps, wires, cmds, title, libs=libs, params=prms) |
| 94 | except NetlistError as exc: |
| 95 | print("Netlist not generated — unresolved '?' placeholders remain:", |
| 96 | file=sys.stderr) |
| 97 | for err in exc.errors: |
| 98 | print(f" {err}", file=sys.stderr) |
| 99 | sys.exit(1) |
| 100 | |
| 101 | output_path.parent.mkdir(parents=True, exist_ok=True) |
| 102 | output_path.write_text(text, encoding="utf-8") |
| 103 | print(f"Netlist → {output_path}") |
| 104 | |
| 105 | |
| 106 | def cmd_svg(args): |
nothing calls this directly
no test coverage detected