msg48472 - (view) |
Author: Phil Schwartz (phil_schwartz) |
Date: 2005-06-15 23:15 |
The ftplib.FTP class currently allows the ability to provide a callback function for the retrbinary & retrlines methods to invoke. However, the corresponding storbinary and storlines methods do not. My ReleaseForge application currently uses the ftplib to send files (rather than retrieve) and it's helpful to know the percentage of the file that has been sent. For my app I subclassed ftplib.FTP and reimplemented storbinary to optionally accept a callback function as a parameter. However, I think this would be a useful method to include in the standard python distribution. I've attached a modified version of ftplib.py which adds this functionality. Unlike the retrX methods, the storX methods only invoke the callback function if it's not None so that it will not interfere with existing code. For completeness, the retrX methods invoke print_line if a callback function is not provided and doing so for the storX functions may be undesired. |
|
|
msg48473 - (view) |
Author: Georg Brandl (georg.brandl) *  |
Date: 2006-03-28 07:52 |
Logged In: YES user_id=849994 Please provide your patch as a diff between the original ftplib.py and your version. It greatly helps reviewers. |
|
|
msg48474 - (view) |
Author: Phil Schwartz (phil_schwartz) |
Date: 2006-07-03 18:09 |
Logged In: YES user_id=420501 Attached patch of ftplib.py (of Python 2.4.3) |
|
|
msg48475 - (view) |
Author: Terry Carroll (tcarroll) |
Date: 2007-04-25 00:08 |
I'd like to voice some support for this patch, if that's not out of line. I've used it myself in at least one app, and it would be nice to have it as a standard feature in 2.6. It seems odd that the callback feature is in the two retrieval methods, but not the store methods. Ruby, for example, supports it in both. Not that Python has to do everything Ruby does, but there doesn't seem to be any obstacle to adding this support. |
|
|
msg48476 - (view) |
Author: Neal Norwitz (nnorwitz) *  |
Date: 2007-04-25 05:39 |
Terry, your comment is definitely *not* out of line! The more people comment on patches the easier it is for us to make a decision. It would be great to comment on other patches or bugs that affect you. Thanks. |
|
|
msg61470 - (view) |
Author: Gregory P. Smith (gregory.p.smith) *  |
Date: 2008-01-22 00:20 |
accepted, committed as svn r60188 for 2.6. I also cleaned up the retr* and stor* doc strings. |
|
|
msg61529 - (view) |
Author: Giampaolo Rodola' (giampaolo.rodola) *  |
Date: 2008-01-22 20:00 |
Could I propose the following docstring corrections? @@ -313,7 +313,7 @@ expected size may be None if it could not be determined. Optional `rest' argument can be a string that is sent as the - argument to a RESTART command. This is essentially a server + argument to a REST(art) command. This is essentially a server marker used to tell the server to skip over any data up to the given marker. """ @@ -403,7 +403,7 @@ """Retrieve data in line mode. A new port is created for you. Args: - cmd: A RETR or LIST command. + cmd: A RETR, LIST, NLST or MLSD command. callback: An optional single parameter callable that is called for each line with the trailing CRLF stripped. [default: print_line()] |
|
|
msg61537 - (view) |
Author: Gregory P. Smith (gregory.p.smith) *  |
Date: 2008-01-22 20:42 |
thanks. applied (well, they will be when svn.python.org comes back) On 1/22/08, Giampaolo Rodola' <report@bugs.python.org> wrote: > > > Giampaolo Rodola' added the comment: > > Could I propose the following docstring corrections? > > |
|
|
msg61542 - (view) |
Author: Giampaolo Rodola' (giampaolo.rodola) *  |
Date: 2008-01-22 22:28 |
Another one. On line 542: - # Note that the RFC doesn't say anything about 'SIZE' + # SIZE command is defined in RFC-3659 |
|
|