[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