def looks_like_spam(message, config, section): log.info("Checking message for spam...") log.debug(message) pickle_filename = config.get(section, 'spam.pickle_file') min_spam_prob = config.getfloat(section, 'spam.min_spam_prob') or 0.90 log.debug("Loading pickle from %s", pickle_filename) bayes = PickledClassifier(pickle_filename) spamprob = bayes.chi2_spamprob(message) if spamprob >= min_spam_prob: log.debug("spamprob %s >= %s, probably spam", spamprob, min_spam_prob) return True log.debug("spamprob %s <= %s, probably not spam", spamprob, min_spam_prob) return False