Bug 702457 - URLGrabber, progress_obj.start documented badly
Summary: URLGrabber, progress_obj.start documented badly
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: yum
Version: 5.8
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Packaging Maintenance Team
QA Contact: Red Hat Satellite QA List
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-05-05 17:31 UTC by Andrew
Modified: 2014-01-21 06:23 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-03-14 19:34:50 UTC
Target Upstream Version:
Embargoed:


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

Description Andrew 2011-05-05 17:31:43 UTC
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 20:15:31 UTC
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 19:34:50 UTC
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.