This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author anglocelt
Recipients anglocelt, mcicogni, taukki, vila
Date 2008-09-02.17:52:36
SpamBayes Score 0.0417822
Marked as misclassified No
Message-id <1220377957.89.0.532906263133.issue1441530@psf.upfronthosting.co.za>
In-reply-to
Content
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.
History
Date User Action Args
2008-09-02 17:52:38angloceltsetrecipients: + anglocelt, mcicogni, taukki, vila
2008-09-02 17:52:37angloceltsetmessageid: <1220377957.89.0.532906263133.issue1441530@psf.upfronthosting.co.za>
2008-09-02 17:52:37angloceltlinkissue1441530 messages
2008-09-02 17:52:36angloceltcreate