[Spambayes-checkins] spambayes pop3proxy.py,1.41,1.42
Skip Montanaro
montanaro at users.sourceforge.net
Fri Jan 24 20:35:42 EST 2003
Update of /cvsroot/spambayes/spambayes
In directory sc8-pr-cvs1:/tmp/cvs-serv28358
Modified Files:
pop3proxy.py
Log Message:
* UserInterface: add onUpload method from proxytrainer for use by proxytee
* onReview: make sure judgement is just the "spam" part of "spam; 1.00"
Index: pop3proxy.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/pop3proxy.py,v
retrieving revision 1.41
retrieving revision 1.42
diff -C2 -d -r1.41 -r1.42
*** pop3proxy.py 24 Jan 2003 22:45:09 -0000 1.41
--- pop3proxy.py 25 Jan 2003 04:35:40 -0000 1.42
***************
*** 651,654 ****
--- 651,685 ----
self._writePostamble()
+ def onUpload(self, params):
+ """Save a message for later training."""
+ # Upload or paste? Spam or ham?
+ content = params.get('file') or params.get('text')
+
+ # Convert platform-specific line endings into unix-style.
+ content = content.replace('\r\n', '\n').replace('\r', '\n')
+
+ # Single message or mbox?
+ if content.startswith('From '):
+ # Get a list of raw messages from the mbox content.
+ class SimpleMessage:
+ def __init__(self, fp):
+ self.guts = fp.read()
+ contentFile = StringIO.StringIO(content)
+ mbox = mailbox.PortableUnixMailbox(contentFile, SimpleMessage)
+ messages = map(lambda m: m.guts, mbox)
+ else:
+ # Just the one message.
+ messages = [content]
+
+ for m in messages:
+ message = state.unknownCorpus.makeMessage("%d"%self.messageName)
+ message.setSubstance(m)
+ state.unknownCorpus.addMessage(message)
+ self.messageName += 1
+
+ # Save the database and return a link Home and another training form.
+ self.doSave()
+ self.push("<p>OK.</p>")
+
def onTrain(self, file, text, which):
"""Train on an uploaded or pasted message."""
***************
*** 884,889 ****
cachedMessage = state.unknownCorpus[key]
message = mboxutils.get_message(cachedMessage.getSubstance())
! judgement = message[options.hammie_header_name] or \
! options.header_unsure_string
messageInfo = self._makeMessageInfo(message)
keyedMessageInfo[judgement].append((key, messageInfo))
--- 915,923 ----
cachedMessage = state.unknownCorpus[key]
message = mboxutils.get_message(cachedMessage.getSubstance())
! judgement = message[options.hammie_header_name]
! if judgement is None:
! judgement = options.header_unsure_string
! else:
! judgement = judgement.split(';')[0].strip()
messageInfo = self._makeMessageInfo(message)
keyedMessageInfo[judgement].append((key, messageInfo))
More information about the Spambayes-checkins
mailing list