[Spambayes-checkins] spambayes hammiecli.py,NONE,1.1 hammiesrv.py,1.5,1.6

Neale Pickett npickett@users.sourceforge.net
Thu, 17 Oct 2002 11:19:44 -0700


Update of /cvsroot/spambayes/spambayes
In directory usw-pr-cvs1:/tmp/cvs-serv10132

Modified Files:
	hammiesrv.py 
Added Files:
	hammiecli.py 
Log Message:
* hammiesrv actually works now :)
* hammiecli uses it


--- NEW FILE: hammiecli.py ---
#! /usr/bin/env python

"""A client for hammiesrv.

Just feed it your mail on stdin, and it spits out the same message
with a new X-Hammie-Disposition header.

"""

import xmlrpclib
import sys

RPCBASE="http://localhost:65000"

def main():
    msg = sys.stdin.read()
    try:
        x = xmlrpclib.ServerProxy(RPCBASE)
        m = xmlrpclib.Binary(msg)
        out = x.filter(m)
        print out
    except:
        if __debug__:
            import traceback
            traceback.print_exc()
        print msg

if __name__ == "__main__":
    main()


Index: hammiesrv.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/hammiesrv.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** hammiesrv.py	8 Oct 2002 17:38:21 -0000	1.5
--- hammiesrv.py	17 Oct 2002 18:19:41 -0000	1.6
***************
*** 36,52 ****
  
  class XMLHammie(hammie.Hammie):
!     def score(self, msg, **kwargs):
          try:
              msg = msg.data
          except AttributeError:
              pass
!         return hammie.Hammie.score(self, msg, **kwargs)
  
!     def filter(self, msg, **kwargs):
          try:
              msg = msg.data
          except AttributeError:
              pass
!         return hammie.Hammie.filter(self, msg, **kwargs)
  
  
--- 36,66 ----
  
  class XMLHammie(hammie.Hammie):
!     def score(self, msg, *extra):
          try:
              msg = msg.data
          except AttributeError:
              pass
!         score = hammie.Hammie.score
!         if len(extra) == 0:
!             return score(self, msg)
!         elif len(extra) == 1:
!             return score(self, msg, extra[0])
!         else:
!             raise TypeError("Wrong number of arguments")
  
!     def filter(self, msg, *extra):
          try:
              msg = msg.data
          except AttributeError:
              pass
!         filter = hammie.Hammie.filter
!         if len(extra) == 0:
!             return filter(self, msg)
!         elif len(extra) == 1:
!             return filter(self, msg, extra[0])
!         elif len(extra) == 2:
!             return filter(self, msg, extra[0], extra[1])
!         else:
!             raise TypeError("Wrong number of arguments")
  
  
***************
*** 72,75 ****
--- 86,90 ----
                  response = (response,)
              except:
+             	traceback.print_exc()
                  # report exception back to server
                  response = xmlrpclib.dumps(