[Python-bugs-list] [ python-Bugs-635453 ] urllib.urlretrieve() with ftp error

noreply@sourceforge.net noreply@sourceforge.net
Fri, 08 Nov 2002 03:39:27 -0800


Bugs item #635453, was opened at 2002-11-08 12:39
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=635453&group_id=5470

Category: Python Library
Group: Python 2.2.2
Status: Open
Resolution: None
Priority: 5
Submitted By: Bram Moolenaar (vimboss)
Assigned to: Nobody/Anonymous (nobody)
Summary: urllib.urlretrieve() with ftp error 

Initial Comment:
When using urllib.urlretrieve() to obtain a file
through ftp and the file is not readable the directory
listing of the file is returned.  The expected behavior
is that a "permission denied" error is generated.
The current behavior makes it impossible to detect
downloading a file failed.

To reproduce:

from urllib import urlretrieve
fname = "/pub/vim/unstable/testfile"
url = "ftp://ftp.vim.org"
resfile, h = urlretrieve(url + fname)
print "file contents: '%s'" % open(resfile).read()
print "header stuff: ", h

The result:
file contents: '-rw-------   1 506      450           
25 Nov  8 11:50 testfile
'

Using ftplib.FTP() does result in the expected error:

from ftplib import FTP
def list(s):
	print s
f = FTP("ftp.vim.org")
f.login()
f.retrbinary("RETR " + fname, list)
f.quit()

The last line of the resulting exception:
ftplib.error_perm: 550 /pub/vim/unstable/testfile:
Permission denied.


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=635453&group_id=5470