MCPcopy Index your code
hub / github.com/SLiCAP/SLiCAP_python / _on_export_netlist

Method _on_export_netlist

SLiCAP/schematic/window.py:883–921  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

881 print_scene(fresh, self)
882
883 def _on_export_netlist(self):
884 path, _ = QFileDialog.getSaveFileName(
885 self, "Export Netlist", self._default_export_path("cir", ".cir"), _NET_FILTER
886 )
887 if not path:
888 return
889 p = Path(path)
890 if p.suffix.lower() != ".cir":
891 p = p.with_suffix(".cir")
892 from .component_item import ComponentItem
893 from .wire_item import WireItem
894 from .command_item import CommandItem
895 from .analysis_item import AnalysisItem
896 from .library_item import LibraryItem
897 from .parameter_item import ParameterItem
898 from .model_item import ModelItem
899 from .netlist import build_netlist, NetlistError
900 items = self._scene.items()
901 comps = [i for i in items if isinstance(i, ComponentItem)]
902 wires = [i for i in items if isinstance(i, WireItem)]
903 cmds = [i for i in items if isinstance(i, (CommandItem, AnalysisItem))]
904 libs = [i for i in items if isinstance(i, LibraryItem)]
905 prms = [i for i in items if isinstance(i, ParameterItem)]
906 models = [i for i in items if isinstance(i, ModelItem)]
907 title = self._doc_props.title or (self._current_path.stem if self._current_path else "schematic")
908 try:
909 text = build_netlist(comps, wires, cmds, title, libs=libs, params=prms,
910 model_defs=models)
911 except NetlistError as exc:
912 QMessageBox.critical(
913 self, "Netlist not generated",
914 "Unresolved “?” placeholders remain, so no netlist was written:\n\n"
915 + "\n".join(exc.errors),
916 )
917 return
918 try:
919 p.write_text(text, encoding="utf-8")
920 except Exception as exc:
921 QMessageBox.critical(self, "Export failed", str(exc))
922
923 # ── close / quit ─────────────────────────────────────────────────────────
924

Callers

nothing calls this directly

Calls 2

_default_export_pathMethod · 0.95
build_netlistFunction · 0.85

Tested by

no test coverage detected