Message72356
Knowing that the large read provokes the problem enables one to write
this simple workaround by subclassing IMAP4 without patching the library:
maxRead = 1000000
class MySSL (imaplib.IMAP4_SSL):
def read (self, n):
#print "..Attempting to read %d bytes" % n
if n <= maxRead:
return imaplib.IMAP4_SSL.read (self, n)
else:
soFar = 0
result = ""
while soFar < n:
thisFragmentSize = min(maxRead, n-soFar)
#print "..Reading fragment size %s" % thisFragmentSize
fragment =\
imaplib.IMAP4_SSL.read (self, thisFragmentSize)
result += fragment
soFar += thisFragmentSize # only a few, so not a tragic o/head
return result
and this works just fine. |
|
Date |
User |
Action |
Args |
2008-09-02 17:52:38 | anglocelt | set | recipients:
+ anglocelt, mcicogni, taukki, vila |
2008-09-02 17:52:37 | anglocelt | set | messageid: <1220377957.89.0.532906263133.issue1441530@psf.upfronthosting.co.za> |
2008-09-02 17:52:37 | anglocelt | link | issue1441530 messages |
2008-09-02 17:52:36 | anglocelt | create | |
|