Issue 1221598: ftplib storbinary/storlines callback function (original) (raw)

Created on 2005-06-15 23:15 by phil_schwartz, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
ftplib.py phil_schwartz,2005-06-15 23:15 ftplib.FTP storbinary and storlines accept a callback func parameter
ftplib.py.patch phil_schwartz,2006-07-03 18:09 ftplib.py patched (based on python 2.4.3-8 FC5 x86_64 rpm)
unnamed gregory.p.smith,2008-01-22 20:42
Messages (9)
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) * (Python committer) 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) * (Python committer) 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) * (Python committer) 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) * (Python committer) 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) * (Python committer) 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) * (Python committer) 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
History
Date User Action Args
2022-04-11 14:56:11 admin set github: 42089
2008-01-22 22:28:34 giampaolo.rodola set messages: +
2008-01-22 20:42:01 gregory.p.smith set files: + unnamedmessages: +
2008-01-22 20:00:23 giampaolo.rodola set nosy: + giampaolo.rodolamessages: +
2008-01-22 00:20:20 gregory.p.smith set status: open -> closedresolution: acceptedmessages: +
2008-01-21 23:48:54 gregory.p.smith set assignee: gregory.p.smithnosy: + gregory.p.smith
2005-06-15 23:15:18 phil_schwartz create