[Spambayes-checkins] spambayes/scripts sb_imapfilter.py,1.38,1.39

Tony Meyer anadelonbrin at users.sourceforge.net
Thu Sep 30 07:16:33 CEST 2004


Update of /cvsroot/spambayes/spambayes/scripts
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26656/scripts

Modified Files:
	sb_imapfilter.py 
Log Message:
Implement [ 940643 ] Add ham_folder option

(the ham_folder option is just like the unsure_folder or spam_folder ones, but for ham).

Index: sb_imapfilter.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/scripts/sb_imapfilter.py,v
retrieving revision 1.38
retrieving revision 1.39
diff -C2 -d -r1.38 -r1.39
*** sb_imapfilter.py	19 Aug 2004 13:11:45 -0000	1.38
--- sb_imapfilter.py	30 Sep 2004 05:16:30 -0000	1.39
***************
*** 171,177 ****
          # We may never have logged in, in which case we do nothing.
          if self.do_expunge and self.logged_in:
!             # Expunge messages from the spam and unsure folders.
              for fol in ["spam_folder",
!                         "unsure_folder",]:
                  self.select(options["imap", fol])
                  self.expunge()
--- 171,178 ----
          # We may never have logged in, in which case we do nothing.
          if self.do_expunge and self.logged_in:
!             # Expunge messages from the ham, spam and unsure folders.
              for fol in ["spam_folder",
!                         "unsure_folder",
!                         "ham_folder"]:
                  self.select(options["imap", fol])
                  self.expunge()
***************
*** 747,751 ****
          return num_trained
  
!     def Filter(self, classifier, spamfolder, unsurefolder):
          count = {}
          count["ham"] = 0
--- 748,752 ----
          return num_trained
  
!     def Filter(self, classifier, spamfolder, unsurefolder, hamfolder):
          count = {}
          count["ham"] = 0
***************
*** 770,774 ****
                  cls = msg.GetClassification()
                  if cls == options["Headers", "header_ham_string"]:
!                     # We leave ham alone.
                      count["ham"] += 1
                  elif cls == options["Headers", "header_spam_string"]:
--- 771,777 ----
                  cls = msg.GetClassification()
                  if cls == options["Headers", "header_ham_string"]:
!                     if hamfolder:
!                         msg.MoveTo(hamfolder)
!                     # Otherwise, we leave ham alone.
                      count["ham"] += 1
                  elif cls == options["Headers", "header_spam_string"]:
***************
*** 786,789 ****
--- 789,793 ----
          self.spam_folder = None
          self.unsure_folder = None
+         self.ham_folder = None
          self.classifier = classifier
          self.imap_server = None
***************
*** 832,835 ****
--- 836,842 ----
                                                      "unsure_folder"],
                                              self.imap_server)
+         ham_folder_name = options["imap", "ham_folder"]
+         if ham_folder_name and not self.ham_folder:
+             self.ham_folder = IMAPFolder(ham_folder_name, self.imap_server)
  
          if options["globals", "verbose"]:
***************
*** 841,845 ****
          count["unsure"] = 0
  
!         # Select the spam folder and unsure folder to make sure they exist.
          try:
              self.imap_server.SelectFolder(self.spam_folder.name)
--- 848,852 ----
          count["unsure"] = 0
  
!         # Select the ham, spam and unsure folders to make sure they exist.
          try:
              self.imap_server.SelectFolder(self.spam_folder.name)
***************
*** 852,856 ****
              print "Cannot select spam folder.  Please check configuration."
              sys.exit(-1)
! 
          for filter_folder in options["imap", "filter_folders"]:
              # Select the folder to make sure it exists.
--- 859,869 ----
              print "Cannot select spam folder.  Please check configuration."
              sys.exit(-1)
!         if self.ham_folder:
!             try:
!                 self.imap_server.SelectFolder(self.ham_folder.name)
!             except BadIMAPResponseError:
!                 print "Cannot select ham folder.  Please check configuration."
!                 sys.exit(-1)
!                 
          for filter_folder in options["imap", "filter_folders"]:
              # Select the folder to make sure it exists.
***************
*** 863,867 ****
              folder = IMAPFolder(filter_folder, self.imap_server)
              subcount = folder.Filter(self.classifier, self.spam_folder,
!                                      self.unsure_folder)
              for key in count.keys():
                  count[key] += subcount.get(key, 0)
--- 876,880 ----
              folder = IMAPFolder(filter_folder, self.imap_server)
              subcount = folder.Filter(self.classifier, self.spam_folder,
!                                      self.unsure_folder, self.ham_folder)
              for key in count.keys():
                  count[key] += subcount.get(key, 0)



More information about the Spambayes-checkins mailing list