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 allanbwilson
Recipients
Date 2003-11-26.03:41:59
SpamBayes Score
Marked as misclassified
Message-id
In-reply-to
Content
A reporthook in urllib.urlretrieve() (in 2.3.2) is
given the max number of characters accepted ("bs") per
.read() as its second argument. It would be more
helpful to receive the number of characters actually
retrieved in the most recent block.

While perhaps this would break some existing code
(though I can't imagine how), the minor patches below
will allow giving progess updates, etc. that are accurate.

Thanks

Allan Wilson

------------

*** urllib.py.old Tue Nov 25 17:42:55 2003
--- urllib.py Tue Nov 25 18:00:50 2003
***************
*** 236,248 ****
              reporthook(0, bs, size)
          block = fp.read(bs)
          if reporthook:
!             reporthook(1, bs, size)
          while block:
              tfp.write(block)
              block = fp.read(bs)
              blocknum = blocknum + 1
              if reporthook:
!                 reporthook(blocknum, bs, size)
          fp.close()
          tfp.close()
          del fp
--- 236,248 ----
              reporthook(0, bs, size)
          block = fp.read(bs)
          if reporthook:
!             reporthook(1, len(block), size)
          while block:
              tfp.write(block)
              block = fp.read(bs)
              blocknum = blocknum + 1
              if reporthook:
!                 reporthook(blocknum, len(block), size)
          fp.close()
          tfp.close()
          del fp
History
Date User Action Args
2007-08-23 15:29:59adminlinkissue849407 messages
2007-08-23 15:29:59admincreate