def compute_verdict(self, results):
        """
        Match results to the configured reject, quarantine and accept classes,
        and return a verdict based on that.

        The verdict classes are matched in the order: reject_classes,
        quarantine_classes, accept_classes. This means that you can configure
        different verdicts for different confidence results, for instance:
        reject_classes= Spam:0.99       # Reject obvious spam
        quarantine_classes = Spam:0.7   # Quarantine spam with confidence
                                        #   between 0.7 and 0.99
        accept_classes = Spam           # Accept low confidence spam (good
                                        #   for FP and retraining)

        Args:
        results -- A results dictionary from DspamClient.

        """
        if results['class'] in self.reject_classes:
            threshold = self.reject_classes[results['class']]
            if float(results['confidence']) >= threshold:
                logger.debug(
                    '<{0}> Suggesting to reject the message based on DSPAM '
                    'results: user={1[user]}, class={1[class]}, '
                    'confidence={1[confidence]}'.format(self.id, results))
                return self.VERDICT_REJECT

        if results['class'] in self.quarantine_classes:
            threshold = self.quarantine_classes[results['class']]
            if float(results['confidence']) >= threshold:
                logger.debug(
                    '<{0}> Suggesting to quarantine the message based on '
                    'DSPAM results: user={1[user]}, class={1[class]}, '
                    'confidence={1[confidence]}'.format(self.id, results))
                return self.VERDICT_QUARANTINE

        if results['class'] in self.accept_classes:
            threshold = self.accept_classes[results['class']]
            if float(results['confidence']) >= threshold:
                logger.debug(
                    '<{0}> Suggesting to accept the message based on DSPAM '
                    'results: user={1[user]}, class={1[class]}, '
                    'confidence={1[confidence]}'.format(self.id, results))
                return self.VERDICT_ACCEPT

        logger.debug(
            '<{0}> Suggesting to accept the message, no verdict class matched '
            'DSPAM results: user={1[user]}, class={1[class]}, '
            'confidence={1[confidence]}'.format(self.id, results))
        return self.VERDICT_ACCEPT
def compute_verdict ( self , results ) : if results [ 'class' ] in self . reject_classes : threshold = self . reject_classes [ results [ 'class' ] ] if float ( results [ 'confidence' ] ) >= threshold : logger . debug ( '<{0}> Suggesting to reject the message based on DSPAM ' 'results: user={1[user]}, class={1[class]}, ' 'confidence={1[confidence]}' . format ( self . id , results ) ) return self . VERDICT_REJECT if results [ 'class' ] in self . quarantine_classes : threshold = self . quarantine_classes [ results [ 'class' ] ] if float ( results [ 'confidence' ] ) >= threshold : logger . debug ( '<{0}> Suggesting to quarantine the message based on ' 'DSPAM results: user={1[user]}, class={1[class]}, ' 'confidence={1[confidence]}' . format ( self . id , results ) ) return self . VERDICT_QUARANTINE if results [ 'class' ] in self . accept_classes : threshold = self . accept_classes [ results [ 'class' ] ] if float ( results [ 'confidence' ] ) >= threshold : logger . debug ( '<{0}> Suggesting to accept the message based on DSPAM ' 'results: user={1[user]}, class={1[class]}, ' 'confidence={1[confidence]}' . format ( self . id , results ) ) return self . VERDICT_ACCEPT logger . debug ( '<{0}> Suggesting to accept the message, no verdict class matched ' 'DSPAM results: user={1[user]}, class={1[class]}, ' 'confidence={1[confidence]}' . format ( self . id , results ) ) return self . VERDICT_ACCEPT
Match results to the configured reject, quarantine and accept classes,
        and return a verdict based on that.

        The verdict classes are matched in the order: reject_classes,
        quarantine_classes, accept_classes. This means that you can configure
        different verdicts for different confidence results, for instance:
        reject_classes= Spam:0.99       # Reject obvious spam
        quarantine_classes = Spam:0.7   # Quarantine spam with confidence
                                        #   between 0.7 and 0.99
        accept_classes = Spam           # Accept low confidence spam (good
                                        #   for FP and retraining)

        Args:
        results -- A results dictionary from DspamClient.