[Python-bugs-list] Fwd: Debian Bug#40891: urllib.urlopen/urlretrieve doesn't support passive FTP (PR#58)

flight@debian.org flight@debian.org
Fri, 20 Aug 1999 13:26:19 -0400 (EDT)


Full_Name: Gregor Hoffleit
Version: 1.5.2
OS: Debian potato
Submission from: testserv.mathi.uni-heidelberg.de (129.206.26.30)


[Forwarded from the Debian bug tracking system]

Sender: Chris Lawrence <quango@watervalley.net>
Package: python-base
Version: 1.5.2-4
Severity: normal
File: /usr/lib/python1.5/urllib.py

urllib doesn't support passive FTP, even though the underlying ftplib
module does.  I dunno what the right approach is (perhaps a urllib
module global variable).  I know some tools (I'm aware of at least
ncftp and wget) autodetect whether PASV is supported by FTP servers;
perhaps that intelligence could be added to ftplib.

(Also: the FTP class's set_pasv() method isn't documented in my
version of python-docs; I haven't checked the new 1.5.2 docs yet
however.)

At the moment, I'm using this ugly hack to get around it:

# Really ugly hack; don't try this at home:
def ftpwrapper_init(self):
    import ftplib
    self.busy = 0
    self.ftp = ftplib.FTP()
    self.ftp.set_pasv(1)
    self.ftp.connect(self.host, self.port)
    self.ftp.login(self.user, self.passwd)
    for dir in self.dirs:
        self.ftp.cwd(dir)

urllib.ftpwrapper.init = ftpwrapper_init
# End really ugly hack