def close(self): FTPHandler.close(self) if not self.pcmds_callback.cancelled: self.pcmds_callback.cancel()
def close(self): """Remove the ip from the shared map before calling close.""" if not self._closed and self.max_cons_per_ip and self.shared_ip_map != None: try: self.shared_lock.acquire() if self.remote_ip in self.shared_ip_map: self.shared_ip_map[self.remote_ip] -= 1 if self.shared_ip_map[self.remote_ip] <= 0: del self.shared_ip_map[self.remote_ip] self.logline("Disconnected, shared ip map: %s" % self.shared_ip_map) except RemoteError, e: self.logerror("Connection tracking cleanup failed: %s" % e) finally: self.shared_lock.release() FTPHandler.close(self) # We want to log more commands. log_cmds_list = [ "ABOR", "APPE", "DELE", "RMD", "RNFR", "RNTO", "RETR", "STOR", "MKD", ]
# this is aesthetic only t, v, _ = sys.exc_info() if t == socket.error: self.log("Connection error: %s" % v) self.handle_close() return FTPHandler.handle_error(self) def close(self): """Remove the ip from the shared map before calling close.""" if not self._closed and self.max_cons_per_ip and self.shared_ip_map != None: try: self.shared_lock.acquire() if self.remote_ip in self.shared_ip_map: self.shared_ip_map[self.remote_ip] -= 1 if self.shared_ip_map[self.remote_ip] <= 0: del self.shared_ip_map[self.remote_ip] self.logline("Disconnected, shared ip map: %s" % self.shared_ip_map) except RemoteError, e: self.logerror("Connection tracking cleanup failed: %s" % e) finally: self.shared_lock.release() FTPHandler.close(self) # We want to log more commands. log_cmds_list = ["ABOR", "APPE", "DELE", "RMD", "RNFR", "RNTO", "RETR", "STOR", "MKD",]