def __init__(self, address, user='', passwd=''): ftp_server, root_address = address.split('/', 1) logger.info("server address {} root path {}".format( ftp_server, root_address)) self.ftp = FTPpy(ftp_server) if not user: user = '' if not passwd: passwd = '' self._ftp_server = address stat = self.ftp.login(user, passwd) logger.debug("login stat {}".format(stat)) if "Login successful" not in stat: logging.warning( "FAIL: Could not login to ftp server {}\n error {}".format( ftp_server, stat)) return None stat = self.ftp.cwd(root_address) logger.debug("cwd {} stat {}".format(root_address, stat)) if "Directory successfully changed" not in stat: logging.warning( "FAIL: Could not cd to server root directory {}\n error {}". format(root_address, stat)) return None
def ftp_login(cls, address, user='', passwd=''): ftp_server, root_address = address.split('/', 1) logger.info("server address {} root path {}".format( ftp_server, root_address)) try: ftp = FTPpy(ftp_server) except socket.error as e: logger.warning("ftp login timeout! {} ".format(e)) return None return cls(address, user=user, passwd=passwd, server=ftp)
def ftp_login(cls, address, user="", passwd=""): ftp_server, root_address = address.split("/", 1) logger.info("server address {} root path {}".format( ftp_server, root_address)) try: with Timeout(60): ftp = FTPpy(ftp_server) except socket.error as e: logger.warning("ftp login timeout! {} ".format(e)) return None except RuntimeError: logger.warning("ftp login timeout!") return None result = None try: result = cls(address, user=user, passwd=passwd, server=ftp) except all_ftp_errors as e: logger.warning("ftp error: {}".format(e)) return result