[Spambayes-checkins] spambayes pop3proxy.py,1.7,1.8
Richie Hindle
richiehindle@users.sourceforge.net
Fri Nov 1 09:14:50 2002
Update of /cvsroot/spambayes/spambayes
In directory usw-pr-cvs1:/tmp/cvs-serv16187
Modified Files:
pop3proxy.py
Log Message:
Made this work on Linux, where socket.makefile behaves differently from
Windows.
Index: pop3proxy.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/pop3proxy.py,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** pop3proxy.py 29 Oct 2002 21:02:40 -0000 1.7
--- pop3proxy.py 1 Nov 2002 09:14:47 -0000 1.8
***************
*** 87,94 ****
self.request = ''
self.set_terminator('\r\n')
! serverSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
! serverSocket.connect((serverName, serverPort))
! self.serverFile = serverSocket.makefile()
! self.push(self.serverFile.readline())
def handle_connect(self):
--- 87,94 ----
self.request = ''
self.set_terminator('\r\n')
! self.serverSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
! self.serverSocket.connect((serverName, serverPort))
! self.serverIn = self.serverSocket.makefile('r') # For reading only
! self.push(self.serverIn.readline())
def handle_connect(self):
***************
*** 135,139 ****
seenAllHeaders = False
while True:
! line = self.serverFile.readline()
if not line:
# The socket's been closed by the server, probably by QUIT.
--- 135,139 ----
seenAllHeaders = False
while True:
! line = self.serverIn.readline()
if not line:
# The socket's been closed by the server, probably by QUIT.
***************
*** 173,184 ****
# Send the request to the server and read the reply.
if self.request.strip().upper() == 'KILL':
! self.serverFile.write('QUIT\r\n')
! self.serverFile.flush()
self.send("+OK, dying.\r\n")
self.shutdown(2)
self.close()
raise SystemExit
! self.serverFile.write(self.request + '\r\n')
! self.serverFile.flush()
if self.request.strip() == '':
# Someone just hit the Enter key.
--- 173,182 ----
# Send the request to the server and read the reply.
if self.request.strip().upper() == 'KILL':
! self.serverSocket.sendall('QUIT\r\n')
self.send("+OK, dying.\r\n")
self.shutdown(2)
self.close()
raise SystemExit
! self.serverSocket.sendall(self.request + '\r\n')
if self.request.strip() == '':
# Someone just hit the Enter key.
***************
*** 200,204 ****
if timedOut:
while True:
! line = self.serverFile.readline()
if not line:
# The socket's been closed by the server.
--- 198,202 ----
if timedOut:
while True:
! line = self.serverIn.readline()
if not line:
# The socket's been closed by the server.
***************
*** 529,532 ****
--- 527,531 ----
asyncore.loop(map=testSocketMap)
+ proxyReady = threading.Event()
def runProxy():
# Name the database in case it ever gets auto-flushed to disk.
***************
*** 535,538 ****
--- 534,538 ----
bayes.learn(tokenizer.tokenize(spam1), True)
bayes.learn(tokenizer.tokenize(good1), False)
+ proxyReady.set()
asyncore.loop()
***************
*** 540,548 ****
testServerReady.wait()
threading.Thread(target=runProxy).start()
# Connect to the proxy.
proxy = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
proxy.connect(('localhost', 8111))
! assert proxy.recv(100) == "+OK ready\r\n"
# Stat the mailbox to get the number of messages.
--- 540,550 ----
testServerReady.wait()
threading.Thread(target=runProxy).start()
+ proxyReady.wait()
# Connect to the proxy.
proxy = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
proxy.connect(('localhost', 8111))
! response = proxy.recv(100)
! assert response == "+OK ready\r\n"
# Stat the mailbox to get the number of messages.