[Spambayes] Outlook addin using bsddb

Tim Stone - Four Stones Expressions tim at fourstonesExpressions.com
Fri Feb 7 08:02:33 EST 2003

2/7/2003 7:30:37 AM, "Mark Hammond" <mhammond at skippinet.com.au> wrote:

>> You might well be able to use dbExpImp.py to export your
>> database before your
>> upgrade, then import it afterwards.  All will be well then,
>> and it'll save you
>> a retrain.  - TimS
>Unlikely, as Outlook also uses a "message database", to remember how
>messages have previously been trained.

The database export and import is a simple dump to a delimited flat file, so 
training is not 'forgotten' by the operation.

>  I'd still love to see this in the
>core BTW, but I've been waiting to see how other applications handle this.
>How does pop3proxy/others deal with knowing if it needs to untrain
>mis-classified messages?

The core currently works over file system based message sets.  Messages are 
cached into separate directories as then are classified, according to their 
spam/unsure/ham classification.  These directories are interfaced using the 
Corpus module.  Corpus is observable, with two observable events: onMessageAdd 
and onMessageRemove.  When a message is added to the Corpus, it calls its 
observer, which would generally be a spam or ham Trainer, depending on what 
kind of Corpus it is.  In fact, a Corpus *is* a spam corpus *because* it has a 
spam Trainer observer.  Then to untrain/train, all a 'core client' needs to do 
is move the message from one Corpus to another.  The Trainer observers are the 
only place that anyone cares what kind of mail is in that Corpus.

>I assume that in other applications, there no way the user can move a
>message "behind the application's back" like it can in Outlook - ie, once
>the application has a message in its "Spam" folder, only the application can
>remove it.  In Outlook, we are dealing directly with the user's native
>folders, so *anything* can happen!

Yeah, I recognize this problem now, a few months after the fact :(.  I've 
raised this whole Corpus issue again on the 'Centralization' thread.  It's 
time we (I?) get this right for pop3proxy, hammie*, outlook, and whatever else 
is lurking out there for the foreseeable future.

>  FWIW, this is the crux of my problem
>making the "Corpus" classes fit Outlook - we aren't in total control of the
>A patch to dbExpImp would probably be trivial, but I don't care enough any
>more <wink>.  I expect a binary release will ship with a good bsddb module,

Let's hope so.  This dbm impl hell has lasted long enough!

>and 2.3 will be out soon, so the issue shouldn't last too long.

DbExpImp will be useful in some instances  ;)


c'est moi - TimS

More information about the Spambayes mailing list