spambayes/scripts sb_imapfilter.py,1.56,1.57

"Tony Meyer" <[email protected]>
Newsgroups gmane.mail.spam.spambayes.cvs
Message-ID <[email protected]>
Update of /cvsroot/spambayes/spambayes/scripts
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5523/scripts

Modified Files:
	sb_imapfilter.py 
Log Message:
Record session statistics.

Index: sb_imapfilter.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/scripts/sb_imapfilter.py,v
retrieving revision 1.56
retrieving revision 1.57
diff -C2 -d -r1.56 -r1.57
*** sb_imapfilter.py	29 Mar 2005 07:18:30 -0000	1.56
--- sb_imapfilter.py	6 Apr 2005 02:48:33 -0000	1.57
***************
*** 720,726 ****
  
  class IMAPFolder(object):
!     def __init__(self, folder_name, imap_server):
          self.name = folder_name
          self.imap_server = imap_server
  
          # Unique names for cached messages - see _generate_id below.
--- 720,727 ----
  
  class IMAPFolder(object):
!     def __init__(self, folder_name, imap_server, stats):
          self.name = folder_name
          self.imap_server = imap_server
+         self.stats = stats
  
          # Unique names for cached messages - see _generate_id below.
***************
*** 838,841 ****
--- 839,846 ----
                  msg.delSBHeaders()
                  classifier.unlearn(msg.tokenize(), not isSpam)
+                 if isSpam:
+                     old_class = options["Headers", "header_ham_string"]
+                 else:
+                     old_class = options["Headers", "header_spam_string"]
  
                  # Once the message has been untrained, it's training memory
***************
*** 843,846 ****
--- 848,853 ----
                  # reason the training breaks.
                  msg.RememberTrained(None)
+             else:
+                 old_class = None
  
              if msg.GetTrained() is None:
***************
*** 853,856 ****
--- 860,864 ----
                  num_trained += 1
                  msg.RememberTrained(isSpam)
+                 self.stats.RecordTraining(not isSpam, old_class=old_class)
                  if isSpam:
                      move_opt_name = "move_trained_spam_to_folder"
***************
*** 862,866 ****
                          msg[header] = value
                      msg.MoveTo(IMAPFolder(options["imap", move_opt_name],
!                                            self.imap_server))
                      msg.Save()
          return num_trained
--- 870,874 ----
                          msg[header] = value
                      msg.MoveTo(IMAPFolder(options["imap", move_opt_name],
!                                            self.imap_server, self.stats))
                      msg.Save()
          return num_trained
***************
*** 886,889 ****
--- 894,898 ----
                  msg.delSBHeaders()
                  msg.addSBHeaders(prob, clues)
+                 self.stats.RecordClassification(prob)
  
                  cls = msg.GetClassification()
***************
*** 904,908 ****
  
  class IMAPFilter(object):
!     def __init__(self, classifier):
          self.spam_folder = None
          self.unsure_folder = None
--- 913,917 ----
  
  class IMAPFilter(object):
!     def __init__(self, classifier, stats):
          self.spam_folder = None
          self.unsure_folder = None
***************
*** 910,913 ****
--- 919,923 ----
          self.classifier = classifier
          self.imap_server = None
+         self.stats = stats
  
      def Train(self):
***************
*** 932,936 ****
                      print "   Training %s folder %s" % \
                            (["ham", "spam"][is_spam], fol)
!                 folder = IMAPFolder(fol, self.imap_server)
                  num_trained = folder.Train(self.classifier, is_spam)
                  total_trained += num_trained
--- 942,946 ----
                      print "   Training %s folder %s" % \
                            (["ham", "spam"][is_spam], fol)
!                 folder = IMAPFolder(fol, self.imap_server, self.stats)
                  num_trained = folder.Train(self.classifier, is_spam)
                  total_trained += num_trained
***************
*** 949,960 ****
          if not self.spam_folder:
              self.spam_folder = IMAPFolder(options["imap", "spam_folder"],
!                                           self.imap_server)
          if not self.unsure_folder:
              self.unsure_folder = IMAPFolder(options["imap",
                                                      "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"]:
--- 959,971 ----
          if not self.spam_folder:
              self.spam_folder = IMAPFolder(options["imap", "spam_folder"],
!                                           self.imap_server, self.stats)
          if not self.unsure_folder:
              self.unsure_folder = IMAPFolder(options["imap",
                                                      "unsure_folder"],
!                                             self.imap_server, self.stats)
          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,
!                                          self.stats)
  
          if options["globals", "verbose"]:
***************
*** 992,996 ****
                  continue
  
!             folder = IMAPFolder(filter_folder, self.imap_server)
              subcount = folder.Filter(self.classifier, self.spam_folder,
                                       self.unsure_folder, self.ham_folder)
--- 1003,1007 ----
                  continue
  
!             folder = IMAPFolder(filter_folder, self.imap_server, self.stats)
              subcount = folder.Filter(self.classifier, self.spam_folder,
                                       self.unsure_folder, self.ham_folder)
***************
*** 1090,1094 ****
          servers_data.append((server, port, username, password))
  
!     imap_filter = IMAPFilter(classifier)
  
      # Web interface.  We have changed the rules about this many times.
--- 1101,1108 ----
          servers_data.append((server, port, username, password))
  
!     # Load stats manager.
!     stats = Stats.Stats(options, message_db)
!     
!     imap_filter = IMAPFilter(classifier, stats)
  
      # Web interface.  We have changed the rules about this many times.
***************
*** 1112,1118 ****
                  imaps.append(IMAPSession(server, port, imapDebug, doExpunge))
  
-         # Load stats manager.
-         stats = Stats.Stats(options, message_db)
-         
          httpServer = UserInterfaceServer(options["html_ui", "port"])
          httpServer.register(IMAPUserInterface(classifier, imaps, pwds,
--- 1126,1129 ----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.