def convert(_connection): # print "ports: %s" % _Connection._get_ports(_connection) if _connection.__class__ == Connection: return _connection.__class__ = Connection for port in _connection.ports: Port.convert(port) # _connection.sourceInfo = \ # (_connection.source.moduleName, _connection.source.sig) # _connection.destinationInfo = \ # (_connection.destination.moduleName, _connection.destination.sig) # # print _connection.sourceInfo # # print _connection.destinationInfo # portFromRepresentation = registry.portFromRepresentation # newSource = \ # portFromRepresentation(_connection.source.moduleName, # _connection.source.sig, # PortEndPoint.Source, None, True) # newDestination = \ # portFromRepresentation(_connection.destination.moduleName, # _connection.destination.sig, # PortEndPoint.Destination, None, True) # newSource.moduleId = _connection.source.moduleId # newDestination.moduleId = _connection.destination.moduleId # _connection.source = newSource # _connection.destination = newDestination _connection.makeConnection = moduleConnection(_connection)
def do_copy(self, new_ids=False, id_scope=None, id_remap=None): cp = DBConnection.do_copy(self, new_ids, id_scope, id_remap) cp.__class__ = Connection cp.makeConnection = moduleConnection(cp) for port in cp.ports: Port.convert(port) return cp