Thread: [bugs]Strange error message.
Fast Bayesian spam filter along lines suggested by Paul Graham
Brought to you by:
m-a
From: <bjo...@up...> - 2003-08-08 22:29:07
|
Hi! I'm working on integrating the VM mail reader with bogofilter, and while doing this, I stumbled on a strange error message. To put the error into context, let me explain briefly what my interface does: Whenever VM fetches new mail, before the new mail is displayed, it calls a hook that will filter the new mails through bogofilter (essentially running 'bogofilter -u -p -e' on them). I then use the built-in filtering functions to handle all emails tagged as spam (i.e. dumping them in a separate spam folder and deleting them). Occationally, a spammer has been clever and a spam gets past the spam filter (or, conversely, a non-spam gets tagged as spam). I then provide functions to re-classify the message. In my first version, I just called 'bogofilter -Ns' or 'bogofilter -Sn' respectively on the mail. This works just fine, except that the tag remains. My solution? Add the flags '-p -e' to make bogofilter change the tag, and replace the mail in the current folder with the re-classified and re-tagged mail. There is nothing in the manual to suggest this would be illegal, but on running bogofilter with these options I get: # bogofilter -Ns -p -e Error: Invalid combination of options. Options '-u' and '-R' are used when classifying messages. Options '-s', '-n', '-S', and '-N' are used when registering words. The two sets of options may not be used together. Options '-g', '-r', '-l', '-d', '-x', and '-v' may be used with either mode. # As you can see this error message is completely non sequitur. I have not combined any illegal options as per the list displayed. In fact, the "-p" and "-e" options are conspicuously absent from all lists of options. Nor do I see why this combination of options would be deemed illegal, it seems like a perfectly reasonable request to have bogofilter re-tag the message when it was wrong in the original classification. I should add that I'm using the latest stable release (0.13.7.2), and I have not yet looked at the bogofilter source. /Björn |
From: David R. <re...@os...> - 2003-08-08 23:06:13
|
Bjorn, Bogofilter's two major activities are classifying messages and registering tokens in its wordlists. It sounds reasonable to do both activities in the same run. However, one of the original design decisions was that bogofilter would either be run to classify or to register, not both. The code is organized in a manner that makes it impossible to register and classify a message in one run. Options '-n', '-s', '-N', and '-S' are all registration options. Options '-p', '-e', and '-u' are classification options. The two sets of options _cannot_ be mixed. What I can do is to enhance the error message. That change will be in the next release. David |
From: bjorn7+vm@Update.UU.SE - 2003-08-08 23:29:38
|
On 8 Aug 2003 19:06, David Relson wrote: > Bjorn, > > Bogofilter's two major activities are classifying messages and registering > tokens in its wordlists. It sounds reasonable to do both activities in the > same run. However, one of the original design decisions was that > bogofilter would either be run to classify or to register, not both. The > code is organized in a manner that makes it impossible to register and > classify a message in one run. Not to be a smartalec, but isn't classifying *and* registering exactly what bogofilter does when I run 'bogofilter -u -p -e' ? Specifically, the -u switch seems to be the bridge between the two, even though the impression I get from the manual is that it just recursively runs the bogofilter program. > Options '-n', '-s', '-N', and '-S' are all registration options. Options > '-p', '-e', and '-u' are classification options. The two sets of options > _cannot_ be mixed. > > What I can do is to enhance the error message. That change will be in the > next release. That would at least lessen the confusion. Perhaps you'd want to make a note of it in the manual too? /Björn |
From: David R. <re...@os...> - 2003-08-08 23:53:55
|
At 07:29 PM 8/8/03, bjorn7+vm@Update.UU.SE wrote: >On 8 Aug 2003 19:06, David Relson wrote: > > Bjorn, > > > > Bogofilter's two major activities are classifying messages and registering > > tokens in its wordlists. It sounds reasonable to do both activities in > the > > same run. However, one of the original design decisions was that > > bogofilter would either be run to classify or to register, not both. The > > code is organized in a manner that makes it impossible to register and > > classify a message in one run. > >Not to be a smartalec, but isn't classifying *and* registering exactly >what bogofilter does when I run 'bogofilter -u -p -e' ? Bjorn, <wipes egg off face>You got me !!</wipes> I'll take a look. Likely it's easier than I thought ... David |