I just merged the code for a new application, core_server.py, to the SpamBayes CVS HEAD. When I checked in the changes on HEAD I got a bunch of messages like this:
cvs diff: Tag 1.1 refers to a dead (removed) revision in file `core_server.py'. cvs diff: No comparison available. Pass `-N' to `cvs diff'? It looks like the checkin actually worked, but I've never seen that message before. This new application, scripts/core_server.py, is fundamentally the same as the preexisting POP3 proxy, but uses a simple plugin scheme to support different protocol adapters. The only plugin written so far is spambayes/ XMLRPCPlugin.py, which, as you might guess, allows messages to be scored using XML-RPC calls. There are two methods, score and score_mime. The latter is pretty much what we are used to - essentially shoot an email (or email-like) message over the pipe and get a score back. The former method (maybe it should be named score_form) accepts a dictionary representing a form submission, a set of extra tokens generated by the client (such as was the submission from an anonymous user?) and a set of attachments. The last two args can be empty (though because of XML-RPC constraints they can't be optional.) The first application of this is likely to the the new Roundup-based Python tracker. I wrote a simple Roundup auditor for that purpose today. I'll be testing that over the next few days. The second application will likely be MoinMoin. Marian Neagul is doing a Google Summer of Code project on page classification which this might fit into nicely. In theory, an web site can use it though as long as it can speak XML-RPC. BTW, before I merged I created a tag, BEFORE_CORESVR_MERGE. I also created an AFTER_CORESVR_MERGE tag after the big checkin. Can people give the existing applications a whirl to make sure I didn't break anything? For Reimar and Marian (the MoinMoin gurus), I did a very little bit of performance testing. Roundtrip performance on my laptop (Mac PowerBook G4 - 800MHz) with both the server and client running on the same machine ranged anywhere from 10-50 bytes/ms. When I added a large payload (a MIME encoded JPEG file of 9.5MB) performance in terms of bytes/ms shot way up, but as you would imagine overall time did as well. Here are some figures: attachment time bytes/ms size 9587824 30.7 sec 312 975978 3.7 sec 259 114794 0.5 sec 252 28675 0.2 sec 142 Thx, Skip _______________________________________________ spambayes-dev mailing list spambayes-dev@python.org http://mail.python.org/mailman/listinfo/spambayes-dev