[Spambayes] detailed differences between branches

Neale Pickett neale@woozle.org
Sun Nov 24 09:48:01 2002


In case anyone was wondering, the protagonist of the movie won.

So here's what I think will be different--what will change when I
merge.  I'm guessing on a few things here because I'm really sleepy and
I don't know what all these modules do.  When in doubt, I'm assuming
what's in HEAD is newer than what's in the playground branch.

Tim, care to comment on Corpus.py, FileCorpus.py, and CostCounter.py?

Options.py
 * No more show_best_discriminators
 * persistent_storage_file becomes pop3proxy_persistent_storage_file and
   hammiefilter_persistent_storage_file
 * ditto for persistent_use_database

Tester.py
 * Changed some calls to new classifier.Classifier arguments

classifier.py
 * PICKLE_VERSION is now 4
 * WordInfo stores only spamcount, hamcount
 * New MetaInfo class stores nspam, nham
 * class name change: Bayes -> Classifier
 * Classifier class computes spamprob on demand and caches result.  This
   means you don't need to call update_probabilities() anymore.  But
   it's still there if you really really want to call it.
 * As a result, the third argument to Classifier.learn() has been
   removed.
 * New Classifier.probability() method takes a record (WordInfo object)
   as an argument and returns the probability for that record.  This is
   what does the caching.

dbdict.py
 * DBDict class moved out of hammie.py and into here
 * We know it's ugly right now.

hammie.py
 * Just contains Hammie class now, if you try to run this as __main__,
   it will run main() from hammiebulk.py for compatibility.
 * Also has a handy open() function to open a database or pickle and
   return a Hammie object.

hammiefilter.py:
 * funtions moved into HammieFilter class
 * default db is "~/.hammiedb".  I don't know what's reasonable for the
   Windows camp, so I'm leaving it up to you folks to figure that out.

pop3proxy.py:
 * Uses Classifier class instead of Hammie class

hammiebulk.py:
 * The canonical executable Hammie front-end.  Now does dishes!
 * You must pass in -D or -d, there is no default.


Man.  I've got my work cut out for me.

'Night

Neale



More information about the Spambayes mailing list