Пример #1
0
    def handleNewSignals(self):
        self._inputUpdate = False

        # Check if all inputs are from the same domain.
        domains = [input.table.domain for input in self.data.values()]

#         samedomain = all(d1 == d2 for d1, d2 in pairwise(domains))
        samedomain = all(domain_eq(d1, d2) for d1, d2 in pairwise(domains))

        self.useequalityButton.setEnabled(samedomain)
        self.samedomain = samedomain

        has_identifiers = all(source_attributes(input.table.domain)
                              for input in self.data.values())

        if not samedomain and not self.useidentifiers:
            self.useidentifiers = 1
        elif samedomain and not has_identifiers:
            self.useidentifiers = 0

        incremental = all(inc for _, inc in self._queue)

        if incremental:
            # Only received updated data on existing link.
            self._updateItemsets()
        else:
            # Links were removed and/or added.
            self._createItemsets()
            self._restoreHints()
            self._updateItemsets()

        del self._queue[:]

        self._createDiagram()
        if self.data:
            self.info.setText(
                "{} data sets on input.\n".format(len(self.data)))
        else:
            self.info.setText("No data on input\n")

        self._updateInfo()
        OWWidget.handleNewSignals(self)
Пример #2
0
    def handleNewSignals(self):
        self._inputUpdate = False
        incremental = all(inc for _, inc in self._queue)

        if incremental:
            self._updateItemsets()
        else:
            self._createItemsets()
            self._restoreHints()
            self._updateItemsets()

        del self._queue[:]

        self._createDiagram()
        if self.data:
            self.info.setText(
                "{} data sets on input.\n".format(len(self.data)))
        else:
            self.info.setText("No data on input\n")

        OWWidget.handleNewSignals(self)