[Spambayes-checkins] spambayes imapfilter.py,1.21,1.22

Tony Meyer anadelonbrin at users.sourceforge.net
Fri Apr 18 00:57:03 EDT 2003


Update of /cvsroot/spambayes/spambayes
In directory sc8-pr-cvs1:/tmp/cvs-serv22066

Modified Files:
	imapfilter.py 
Log Message:
Update to use new options style.

Index: imapfilter.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/imapfilter.py,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -d -r1.21 -r1.22
*** imapfilter.py	18 Apr 2003 00:56:06 -0000	1.21
--- imapfilter.py	18 Apr 2003 06:56:59 -0000	1.22
***************
*** 21,25 ****
              -v          : verbose mode
              -p          : security option to prompt for imap password,
!                           rather than look in options.imap_password
              -e y/n      : expunge/purge messages on exit (y) or not (n)
              -i debuglvl : a somewhat mysterious imaplib debugging level
--- 21,25 ----
              -v          : verbose mode
              -p          : security option to prompt for imap password,
!                           rather than look in options["imap", "password"]
              -e y/n      : expunge/purge messages on exit (y) or not (n)
              -i debuglvl : a somewhat mysterious imaplib debugging level
***************
*** 73,76 ****
--- 73,79 ----
        any new messages to process (with the RECENT command).  The period
        could be an option.  This is partially done with the -l operand.
+     o Mail flagged with /Deleted shouldn't be filtered.
+     o The flags should be copied along with the message (especially
+       the /Seen flag, but all of them, really).
      o Suggestions?
  """
***************
*** 309,316 ****
  
                  cls = msg.GetClassification()
!                 if cls == options.header_ham_string:
                      # we leave ham alone
                      pass
!                 elif cls == options.header_spam_string:
                      msg.MoveTo(spamfolder)
                  else:
--- 312,319 ----
  
                  cls = msg.GetClassification()
!                 if cls == options["Hammie", "header_ham_string"]:
                      # we leave ham alone
                      pass
!                 elif cls == options["Hammie", "header_spam_string"]:
                      msg.MoveTo(spamfolder)
                  else:
***************
*** 321,341 ****
  class IMAPFilter(object):
      def __init__(self, classifier):
!         self.spam_folder = IMAPFolder(options.imap_spam_folder)
!         self.unsure_folder = IMAPFolder(options.imap_unsure_folder)
  
          self.classifier = classifier
          
      def Train(self):
!         if options.verbose:
              t = time.time()
  
!         if options.imap_ham_train_folders != "":
!             ham_training_folders = options.imap_ham_train_folders.split()
              for fol in ham_training_folders:
                  folder = IMAPFolder(fol)
                  num_ham_trained = folder.Train(self.classifier, False)
  
!         if options.imap_spam_train_folders != "":
!             spam_training_folders = options.imap_spam_train_folders.split()
              for fol in spam_training_folders:
                  folder = IMAPFolder(fol)
--- 324,346 ----
  class IMAPFilter(object):
      def __init__(self, classifier):
!         self.spam_folder = IMAPFolder(options["imap", "spam_folder"])
!         self.unsure_folder = IMAPFolder(options["imap", "unsure_folder"])
  
          self.classifier = classifier
          
      def Train(self):
!         if options["globals", "verbose"]:
              t = time.time()
  
!         if options["imap", "ham_train_folders"] != "":
!             ham_training_folders = \
!                                  options["imap", "ham_train_folders"].split()
              for fol in ham_training_folders:
                  folder = IMAPFolder(fol)
                  num_ham_trained = folder.Train(self.classifier, False)
  
!         if options["imap", "spam_train_folders"] != "":
!             spam_training_folders = \
!                                   options["imap", "spam_train_folders"].split()
              for fol in spam_training_folders:
                  folder = IMAPFolder(fol)
***************
*** 345,361 ****
              self.classifier.store()
          
!         if options.verbose:
              print "Training took %s seconds, %s messages were trained" \
                    % (time.time() - t, num_ham_trained + num_spam_trained)
  
      def Filter(self):
!         if options.verbose:
              t = time.time()
              
!         for filter_folder in options.imap_filter_folders.split():
              folder = IMAPFolder(filter_folder, False)
              folder.Filter(self.classifier, self.spam_folder, self.unsure_folder)
   
!         if options.verbose:
              print "Filtering took", time.time() - t, "seconds."
  
--- 350,366 ----
              self.classifier.store()
          
!         if options["globals", "verbose"]:
              print "Training took %s seconds, %s messages were trained" \
                    % (time.time() - t, num_ham_trained + num_spam_trained)
  
      def Filter(self):
!         if options["globals", "verbose"]:
              t = time.time()
              
!         for filter_folder in options["imap", "filter_folders"].split():
              folder = IMAPFolder(filter_folder, False)
              folder.Filter(self.classifier, self.spam_folder, self.unsure_folder)
   
!         if options["globals", "verbose"]:
              print "Filtering took", time.time() - t, "seconds."
  
***************
*** 369,377 ****
          sys.exit()
  
!     bdbname = options.pop3proxy_persistent_storage_file
!     useDBM = options.pop3proxy_persistent_use_database
      doTrain = False
      doClassify = False
!     doExpunge = options.imap_expunge
      imapDebug = 0
      sleepTime = 0
--- 374,382 ----
          sys.exit()
  
!     bdbname = options["pop3proxy", "persistent_storage_file"]
!     useDBM = options["pop3proxy", "persistent_use_database"]
      doTrain = False
      doClassify = False
!     doExpunge = options["imap", "expunge"]
      imapDebug = 0
      sleepTime = 0
***************
*** 395,399 ****
              doClassify = True
          elif opt == '-v':
!             options.verbose = True
          elif opt == '-e':
              if arg == 'y':
--- 400,404 ----
              doClassify = True
          elif opt == '-v':
!             options["globals", "verbose"] = True
          elif opt == '-e':
              if arg == 'y':
***************
*** 413,421 ****
          pwd = getpass()
      else:
!         pwd = options.imap_password
  
      bdbname = os.path.expanduser(bdbname)
      
!     if options.verbose:
          print "Loading database %s..." % (bdbname),
      
--- 418,426 ----
          pwd = getpass()
      else:
!         pwd = options["imap", "password"]
  
      bdbname = os.path.expanduser(bdbname)
      
!     if options["globals", "verbose"]:
          print "Loading database %s..." % (bdbname),
      
***************
*** 425,445 ****
          classifier = storage.PickledClassifier(bdbname)
  
!     if options.verbose:
          print "Done."            
                  
!     imap = IMAPSession(options.imap_server, options.imap_port, \
!                        imapDebug)
  
      imap_filter = IMAPFilter(classifier)
  
      while True:
!         imap.login(options.imap_username, pwd)
  
          if doTrain:
!             if options.verbose:
                  print "Training"
              imap_filter.Train()
          if doClassify:
!             if options.verbose:
                  print "Classifying"
              imap_filter.Filter()
--- 430,450 ----
          classifier = storage.PickledClassifier(bdbname)
  
!     if options["globals", "verbose"]:
          print "Done."            
                  
!     imap = IMAPSession(options["imap", "server"],
!                        options["imap", "port"], imapDebug)
  
      imap_filter = IMAPFilter(classifier)
  
      while True:
!         imap.login(options["imap", "username"], pwd)
  
          if doTrain:
!             if options["globals", "verbose"]:
                  print "Training"
              imap_filter.Train()
          if doClassify:
!             if options["globals", "verbose"]:
                  print "Classifying"
              imap_filter.Filter()





More information about the Spambayes-checkins mailing list