Red Hat Bugzilla – Bug 702457
URLGrabber, progress_obj.start documented badly
Last modified: 2014-01-21 01:23:28 EST
Created attachment 497172 [details]
Patch to fix the bug
Description of problem:
I found the bug in Ubuntu Natty:
The progress_obj is documented as:
po.start(filename, url, basename, length, text)
But it is called as:
po.start(filename, url, basename, size=..., text=...)
Regression (worked fine in Ubuntu Maverick)
Version-Release number of selected component (if applicable):
Ubuntu version of python-urlgrabber: 3.9.1-4
Steps to Reproduce:
1. Pass a progress_obj to the grabber
2. Implement the documented API
3. Code fails when called incorrectly by grabber.py
Code fails with a KeyboardInterrupt
Should work as documented, and as it used to work
See details in ubuntu bug:
This code has been like this pretty much forever (2005 the text param. was added), I can see how you might be confused if you just looked at the documentation though. Alas. we can't just remove the param name from the call, as the API has other params:
def start(self, filename=None, url=None, basename=None,
size=None, now=None, text=None):
...so our only sane option is to treat it as a documentation bug, and fix that. Sorry, if that doesn't help you much.
The documentation was fixed upstream.
This request was evaluated by Red Hat Engineering for inclusion in a Red
Hat Enterprise Linux maintenance release.
Red Hat does not currently plan to provide this change in a Red Hat
Enterprise Linux update release for currently deployed products.
With the goal of minimizing risk of change for deployed systems, and in
response to customer and partner requirements, Red Hat takes a
conservative approach when evaluating enhancements for inclusion in
maintenance updates for currently deployed products. The primary
objectives of update releases are to enable new hardware platform
support and to resolve critical defects.