def cmlExcludeTrovesAction(self, data):
        installSet = set()
        optionalSet = set()
        for troveTup, inInstall, isExplicit in (
                     self.primaryTroveSet._walk(data.troveCache,
                                     newGroups = False,
                                     recurse = True)):
            if (not isExplicit) or self.excludeTroves.match(troveTup[0]):
                if inInstall:
                    optionalSet.add(troveTup)
            elif isExplicit:
                if inInstall:
                    installSet.add(troveTup)
                else:
                    optionalSet.add(troveTup)

        self.outSet._setInstall(installSet)
        self.outSet._setOptional(optionalSet)

        return True
dataset/ETHPy150Open sassoftware/conary/conary/conaryclient/modelupdate.py/CMLExcludeTrovesAction.cmlExcludeTrovesAction/operator `and` -> `or`