[Spambayes-checkins] spambayes/scripts sb_imapfilter.py,1.56,1.57
Tony Meyer
anadelonbrin at users.sourceforge.net
Wed Apr 6 04:48:35 CEST 2005
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 ----
More information about the Spambayes-checkins
mailing list