# The class itself
class FTP:
-
'''An FTP client class.
To create a connection, call the class using these arguments:
passiveserver = 1
encoding = "latin-1"
- # Initialization method (called by class instantiation).
- # Initialize host to localhost, port to standard ftp port
- # Optional arguments are host (for connect()),
- # and user, passwd, acct (for login())
def __init__(self, host='', user='', passwd='', acct='',
timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None):
+ """Initialization method (called by class instantiation).
+ Initialize host to localhost, port to standard ftp port.
+ Optional arguments are host (for connect()),
+ and user, passwd, acct (for login()).
+ """
self.source_address = source_address
self.timeout = timeout
if host:
'''Parse the '227' response for a PASV request.
Raises error_proto if it does not contain '(h1,h2,h3,h4,p1,p2)'
Return ('host.addr.as.numbers', port#) tuple.'''
-
if resp[:3] != '227':
raise error_reply(resp)
global _227_re
'''Parse the '229' response for an EPSV request.
Raises error_proto if it does not contain '(|||port|)'
Return ('host.addr.as.numbers', port#) tuple.'''
-
if resp[:3] != '229':
raise error_reply(resp)
left = resp.find('(')
'''Parse the '257' response for a MKD or PWD request.
This is a response to a MKD or PWD request: a directory name.
Returns the directoryname in the 257 reply.'''
-
if resp[:3] != '257':
raise error_reply(resp)
if resp[3:5] != ' "':