Bug 702457 - URLGrabber, progress_obj.start documented badly
URLGrabber, progress_obj.start documented badly
Status: CLOSED UPSTREAM
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: yum (Show other bugs)
5.8
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: packaging-team-maint
Red Hat Satellite QA List
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2011-05-05 13:31 EDT by Andrew
Modified: 2014-01-21 01:23 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-03-14 15:34:50 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Patch to fix the bug (765 bytes, patch)
2011-05-05 13:31 EDT, Andrew
no flags Details | Diff

  None (edit)
Description Andrew 2011-05-05 13:31:43 EDT
Created attachment 497172 [details]
Patch to fix the bug

Description of problem:
I found the bug in Ubuntu Natty:
https://bugs.launchpad.net/ubuntu/+source/urlgrabber/+bug/776555

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

How reproducible:
100% reproducible

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
  
Actual results:
Code fails with a KeyboardInterrupt

Expected results:
Should work as documented, and as it used to work

Additional info:
See details in ubuntu bug:
https://bugs.launchpad.net/ubuntu/+source/urlgrabber/+bug/776555
Comment 1 James Antill 2011-05-19 16:15:31 EDT
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.
Comment 2 James Antill 2013-03-14 15:34:50 EDT
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.

Note You need to log in before you can comment on or make changes to this bug.