diff --git a/masque/builder/pather_mixin.py b/masque/builder/pather_mixin.py index 9319a59..abf665b 100644 --- a/masque/builder/pather_mixin.py +++ b/masque/builder/pather_mixin.py @@ -488,7 +488,10 @@ class PortPather: return self def path_from(self, *args, **kwargs) -> Self: + thru = kwargs.pop('thru', None) self.pather.path_into(args[0], self.port, *args[1:], **kwargs) + if thru is not None: + self.rename_from(thru) return self def mpath(self, *args, **kwargs) -> Self: @@ -527,3 +530,11 @@ class PortPather: def set_rotation(self, rotation: float | None) -> Self: self.pather[self.port].set_rotation(rotation) return self + + def rename_to(self, new_name: str) -> Self: + self.pather.rename_ports({self.port: new_name}) + return self + + def rename_from(self, old_name: str) -> Self: + self.pather.rename_ports({old_name: self.port}) + return self