fixup! [PortPather] generalize to multi-port functions where possible

This commit is contained in:
Jan Petykiewicz 2025-12-01 11:58:55 -08:00
parent b12b406df4
commit 07fc8b2ad0

View File

@ -610,6 +610,14 @@ class PortPather:
self.ports = [mm for mm in [name_map.get(pp, pp) for pp in self.ports] if mm is not None] self.ports = [mm for mm in [name_map.get(pp, pp) for pp in self.ports] if mm is not None]
return self return self
def add_ports(self, ports: Iterable[str]) -> Self:
ports = list(ports)
conflicts = set(ports) & set(self.ports)
if conflicts:
raise BuildError(f'ports {conflicts} already selected')
self.ports += ports
return self
def add_port(self, port: str, index: int | None = None) -> Self: def add_port(self, port: str, index: int | None = None) -> Self:
if port in self.ports: if port in self.ports:
raise BuildError(f'{port=} already selected') raise BuildError(f'{port=} already selected')