mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +00:00 
			
		
		
		
	Move some constant initialization from FTP.__init__() and FTP.connect()
to the class namespace. Allow FTP.close() to be called more than once without tossing cookies. (This seems to be a fairly common idiom for .close() methods, so let's try to be consistent.)
This commit is contained in:
		
							parent
							
								
									2fd456508f
								
							
						
					
					
						commit
						9c98a428ef
					
				
					 1 changed files with 16 additions and 16 deletions
				
			
		| 
						 | 
					@ -91,30 +91,29 @@ class FTP:
 | 
				
			||||||
    and PORT or PASV commands.
 | 
					    and PORT or PASV commands.
 | 
				
			||||||
'''
 | 
					'''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    debugging = 0
 | 
				
			||||||
 | 
					    host = ''
 | 
				
			||||||
 | 
					    port = FTP_PORT
 | 
				
			||||||
 | 
					    sock = None
 | 
				
			||||||
 | 
					    file = None
 | 
				
			||||||
 | 
					    welcome = None
 | 
				
			||||||
 | 
					    passiveserver = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Initialization method (called by class instantiation).
 | 
					    # Initialization method (called by class instantiation).
 | 
				
			||||||
    # Initialize host to localhost, port to standard ftp port
 | 
					    # Initialize host to localhost, port to standard ftp port
 | 
				
			||||||
    # Optional arguments are host (for connect()),
 | 
					    # Optional arguments are host (for connect()),
 | 
				
			||||||
    # and user, passwd, acct (for login())
 | 
					    # and user, passwd, acct (for login())
 | 
				
			||||||
    def __init__(self, host = '', user = '', passwd = '', acct = ''):
 | 
					    def __init__(self, host='', user='', passwd='', acct=''):
 | 
				
			||||||
        # Initialize the instance to something mostly harmless
 | 
					 | 
				
			||||||
        self.debugging = 0
 | 
					 | 
				
			||||||
        self.host = ''
 | 
					 | 
				
			||||||
        self.port = FTP_PORT
 | 
					 | 
				
			||||||
        self.sock = None
 | 
					 | 
				
			||||||
        self.file = None
 | 
					 | 
				
			||||||
        self.welcome = None
 | 
					 | 
				
			||||||
        resp = None
 | 
					 | 
				
			||||||
        if host:
 | 
					        if host:
 | 
				
			||||||
            resp = self.connect(host)
 | 
					            self.connect(host)
 | 
				
			||||||
            if user: resp = self.login(user, passwd, acct)
 | 
					            if user: self.login(user, passwd, acct)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def connect(self, host = '', port = 0):
 | 
					    def connect(self, host='', port=0):
 | 
				
			||||||
        '''Connect to host.  Arguments are:
 | 
					        '''Connect to host.  Arguments are:
 | 
				
			||||||
        - host: hostname to connect to (string, default previous host)
 | 
					        - host: hostname to connect to (string, default previous host)
 | 
				
			||||||
        - port: port to connect to (integer, default previous port)'''
 | 
					        - port: port to connect to (integer, default previous port)'''
 | 
				
			||||||
        if host: self.host = host
 | 
					        if host: self.host = host
 | 
				
			||||||
        if port: self.port = port
 | 
					        if port: self.port = port
 | 
				
			||||||
        self.passiveserver = 1
 | 
					 | 
				
			||||||
        self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 | 
					        self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 | 
				
			||||||
        self.sock.connect((self.host, self.port))
 | 
					        self.sock.connect((self.host, self.port))
 | 
				
			||||||
        self.file = self.sock.makefile('rb')
 | 
					        self.file = self.sock.makefile('rb')
 | 
				
			||||||
| 
						 | 
					@ -480,9 +479,10 @@ def quit(self):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def close(self):
 | 
					    def close(self):
 | 
				
			||||||
        '''Close the connection without assuming anything about it.'''
 | 
					        '''Close the connection without assuming anything about it.'''
 | 
				
			||||||
 | 
					        if self.file:
 | 
				
			||||||
            self.file.close()
 | 
					            self.file.close()
 | 
				
			||||||
            self.sock.close()
 | 
					            self.sock.close()
 | 
				
			||||||
        del self.file, self.sock
 | 
					            self.file = self.sock = None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
_150_re = None
 | 
					_150_re = None
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue