@@ -166,15 +166,16 @@ def connect(self, *args, **kwargs):
166166 connected_ports = {}
167167 for srcnode , destnode , connects in connection_list :
168168 if destnode not in connected_ports :
169- connected_ports [destnode ] = []
169+ connected_ports [destnode ] = set ()
170170 # check to see which ports of destnode are already
171171 # connected.
172172 if not disconnect and (destnode in self ._graph .nodes ()):
173173 for edge in self ._graph .in_edges (destnode ):
174174 data = self ._graph .get_edge_data (* edge )
175- for sourceinfo , destname in data ["connect" ]:
176- if destname not in connected_ports [destnode ]:
177- connected_ports [destnode ] += [destname ]
175+ connected_ports [destnode ].update (
176+ destname
177+ for _ , destname in data ["connect" ]
178+ )
178179 for source , dest in connects :
179180 # Currently datasource/sink/grabber.io modules
180181 # determine their inputs/outputs depending on
@@ -229,7 +230,7 @@ def connect(self, *args, **kwargs):
229230 )
230231 if sourcename and not srcnode ._check_outputs (sourcename ):
231232 not_found .append (["out" , srcnode .name , sourcename ])
232- connected_ports [destnode ] += [ dest ]
233+ connected_ports [destnode ]. add ( dest )
233234 infostr = []
234235 for info in not_found :
235236 infostr += [
0 commit comments