ftplib - Did the whole file get sent?
Sean DiZazzo
half.italian at gmail.com
Sat Oct 23 12:03:47 EDT 2010
On Oct 22, 10:48 pm, Steven D'Aprano <st... at REMOVE-THIS-
cybersource.com.au> wrote:
> On Fri, 22 Oct 2010 22:03:38 -0700, Sean DiZazzo wrote:
> > How can I assure him (and the client) that the transfer completed
> > successfully like my log shows?
>
> "It has worked well for many years, there are no reported bugs in the ftp
> code
> [...]
Thanks for your advice Steven. I agree with you,and did take that
approach to start with. Then the request for the actual FTP "ack"
caught me off guard. I had to break out Wireshark and run a few tests
just to make sure I knew exactly what I was talking about.
I think I will try to explain that asking for the "ack" is not really
a valid request. Something like this:
"Technically, these messages are used only on the lowest level of the
FTP protocol itself. Any client or library implementing FTP would be
sending these messages under the covers...in this case I think its
done in the socket library. It is possible that there is a bug in the
Python FTP library, just like it's possible there is a bug in any
other FTP client. Considering how long this library has been around
(~15-20 years), and how often it is used, it is very unlikely that a
bug causing a partial transfer but showing a success has managed to
stick around for so long."
Does that make sense?
> > Is ftplib reliable enough to say that if an exception is not thrown,
> > that the file was transferred in full?
>
> Python 2.4 is pretty old. Have you checked the bug tracker to see if
> there are any reported bugs in ftplib that might be relevant? Or the
> What's New for 2.5, 2.6 and 2.7? The source code for ftplib seems fairly
> straightforward to me -- if there was an error, I can't see that it could
> have been suppressed.
>
> But really, unless you can reproduce the error, I'd say the error lies
> elsewhere.
>
> --
> Steven
I'll check bugs and whats new before sending any response. The more I
think about this, I am beginning to think that he is just trying to
find someone to blame for a problem, and has chosen me.
Thanks again.
~Sean
More information about the Python-list
mailing list