示例#1
0
文件: ftp.py 项目: IMMM-SFA/im3-cime
    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
示例#2
0
    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)
示例#3
0
文件: ftp.py 项目: sjsprecious/cime
    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