summaryrefslogtreecommitdiff
path: root/grc/python/Block.py
diff options
context:
space:
mode:
Diffstat (limited to 'grc/python/Block.py')
-rw-r--r--grc/python/Block.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/grc/python/Block.py b/grc/python/Block.py
index c8537b2caa..5dffcb3124 100644
--- a/grc/python/Block.py
+++ b/grc/python/Block.py
@@ -97,26 +97,27 @@ class Block(_Block, _GUIBlock):
"""
_Block.rewrite(self)
- #adjust nports
+ # adjust nports
for ports in (self.get_sources(), self.get_sinks()):
for i, master_port in enumerate(ports):
nports = master_port.get_nports() or 1
num_ports = 1 + len(master_port.get_clones())
- if not nports and num_ports == 1: # no/former master port? skip
+ if not nports and num_ports == 1: # not a master port and no left-over clones
continue
- # remove excess ports
+ # remove excess cloned ports
for port in master_port.get_clones()[nports-1:]:
# remove excess connections
for connection in port.get_connections():
self.get_parent().remove_element(connection)
master_port.remove_clone(port)
ports.remove(port)
- # add more ports
+ # add more cloned ports
for i in range(num_ports, nports):
port = master_port.add_clone()
ports.insert(ports.index(master_port) + i, port)
self.back_ofthe_bus(ports)
+ # renumber non-message/-msg ports
for i, port in enumerate(filter(lambda p: p.get_key().isdigit(), ports)):
port._key = str(i)