def addConnection(self, connection, connectionBrush=None):
        srcModule = self.modules[connection.source.moduleId]
        dstModule = self.modules[connection.destination.moduleId]
        srcPortItem = srcModule.getOutputPortItem(connection.source, True)
        dstPortItem = dstModule.getInputPortItem(connection.destination, True)
        connectionItem = QGraphicsConnectionItem(srcPortItem, dstPortItem,
                                                 srcModule, dstModule,
                                                 connection)
        srcPortItem.connect()
        dstPortItem.connect()
        connectionItem.id = connection.id
        connectionItem.connection = connection
        if connectionBrush:
            connectionItem.set_custom_brush(connectionBrush)
        self.addItem(connectionItem)
        self.connections[connection.id] = connectionItem
        self._old_connection_ids.add(connection.id)
        srcModule.addConnectionItem(connectionItem)
        dstModule.addConnectionItem(connectionItem)
        if srcModule.module.is_vistrail_var():
            connectionItem.hide()
            var_uuid = srcModule.module.get_vistrail_var()
            dstPortItem.addVistrailVar(var_uuid)
        self.update_connections([srcModule.id, dstModule.id])
        return connectionItem
Creates price filter based on the min and max prices of the category's
dataset/ETHPy150Open VisTrails/VisTrails/vistrails/gui/pipeline_view.py/QPipelineScene.addConnection--crossover with--dataset/ETHPy150Open diefenbach/django-lfs/lfs/catalog/utils.py/get_price_filters