Check mail new logic
- use RECENT flag for search on IMAP server with write access so RECENT flag is deleted on new messages and fetch read only so SEEN flag is not set on fetched messages. - It might work on Exchange 2003 that do not support STORE flag UNSEEN - This change the get_mail loop so now each MailConnection type implement get_next_mail_index because logic is different from IMAP to POP3 connection. darcs-hash:20060207213333-86b55-9c2ccf31fb9ae9e6dd454c907f3188bc6080b817.gz
This commit is contained in:
@@ -56,29 +56,34 @@ class DummyServer:
|
||||
self.real_queries = []
|
||||
|
||||
def serve(self):
|
||||
conn, addr = self.socket.accept()
|
||||
rfile = conn.makefile('rb', -1)
|
||||
if self.responses:
|
||||
data = None
|
||||
for idx in range(len(self.responses)):
|
||||
# if response is a function apply it (it must return a string)
|
||||
# it is given previous received data
|
||||
if isinstance(self.responses[idx], types.FunctionType):
|
||||
response = self.responses[idx](data)
|
||||
else:
|
||||
response = self.responses[idx]
|
||||
if response is not None:
|
||||
# print >>sys.stderr, 'Sending : ', response
|
||||
conn.send(response)
|
||||
data = rfile.readline()
|
||||
if not data:
|
||||
break
|
||||
else:
|
||||
self.real_queries.append(data)
|
||||
# print >>sys.stderr, 'Receive : ', data
|
||||
conn.close()
|
||||
self.socket.close()
|
||||
self.socket = None
|
||||
try:
|
||||
conn, addr = self.socket.accept()
|
||||
rfile = conn.makefile('rb', -1)
|
||||
if self.responses:
|
||||
data = None
|
||||
for idx in range(len(self.responses)):
|
||||
# if response is a function apply it (it must return a string)
|
||||
# it is given previous received data
|
||||
if isinstance(self.responses[idx], types.FunctionType):
|
||||
response = self.responses[idx](data)
|
||||
else:
|
||||
response = self.responses[idx]
|
||||
if response is not None:
|
||||
#print >>sys.stderr, 'Sending : ', response
|
||||
conn.send(response)
|
||||
data = rfile.readline()
|
||||
if not data:
|
||||
break
|
||||
else:
|
||||
self.real_queries.append(data)
|
||||
#print >>sys.stderr, 'Receive : ', data
|
||||
conn.close()
|
||||
self.socket.close()
|
||||
self.socket = None
|
||||
except:
|
||||
type, value, stack = sys.exc_info()
|
||||
print >>sys.stderr, "".join(traceback.format_exception
|
||||
(type, value, stack, 5))
|
||||
|
||||
def verify_queries(self):
|
||||
result = True
|
||||
@@ -95,7 +100,8 @@ class DummyServer:
|
||||
else:
|
||||
result = False
|
||||
print >>sys.stderr, "Expected " + str(queries_len) + \
|
||||
" queries, got " + str(len(self.real_queries))
|
||||
" queries, got " + str(len(self.real_queries)) + \
|
||||
"\t" + str(self.real_queries)
|
||||
return result
|
||||
|
||||
class XMLDummyServer(DummyServer):
|
||||
|
||||
Reference in New Issue
Block a user