def get_ftp(): ftp_path = getattr(settings, 'FTP_PATH', 'ftp://*****:*****@192.168.60.70/soft/测试文件') parsed = urlparse(ftp_path) ftp = FTPHost(parsed.hostname, parsed.username, parsed.password) ftp.chdir(parsed.path) return ftp
def autoupdateftp(): ftp_host, ftp_name, ftp_pwd, ftp_path, keep_update_dirs, exclude_dirs, root_dir = read_conf( ) from ftputil import FTPHost from ftputil.error import FTPError from ftputil.error import TemporaryError try: ftp_s = FTPHost(ftp_host, ftp_name, ftp_pwd) except FTPError as e: print('cannot connect ftp sever ---- ' + str(e)) exit(0) if ftp_path != '/': ftp_s.chdir(ftp_path) try: ftp_s.keep_alive() except TemporaryError as e: print('Program execute exception ---- ' + str(e)) exit(0) import os if keep_update_dirs == '/': if exclude_dirs != '': download_file(ftp_s, keep_update_dirs, root_dir, exclude_dirs) else: download_file(ftp_s, keep_update_dirs, root_dir) else: sdirs = keep_update_dirs.split(',') for dir in sdirs: download_file(ftp_s, dir.strip(), root_dir + os.sep + dir.strip()) ftp_s.close()
def install_blast(base_dir): """Deprecated, look into 'home_linux/setup/bioinfo_tools' On Ubuntu: sudo apt-get install ncbi-blast+ """ # Default location # if base_dir is None: base_dir = os.environ.get('HOME', '/') + '/programs/blast/' # Download from FTP # ftp_url = "ftp.ncbi.nlm.nih.gov" ftp_dir = "/blast/executables/blast+/LATEST/" pattern = 'ncbi-blast-*+-src.zip' ftp = FTPHost(ftp_url, "anonymous") ftp.chdir(ftp_dir) files = ftp.listdir(self.ftp.curdir) ftp.download(source, dest)
class RFTP: def __init__(self): ftp_path = getattr(settings, 'FTP_PATH', 'ftp://*****:*****@192.168.60.70/soft/测试文件') parsed = urlparse(ftp_path) self.hostname = parsed.hostname self.username = parsed.username self.password = parsed.password self.path = parsed.path self.ftp = None def get_ftp(self): if self.ftp is None: self.ftp = FTPHost(self.hostname, self.username, self.password) self.ftp.chdir(self.path) else: try: self.ftp.chdir(self.path) except Exception as e: self.ftp = FTPHost(self.hostname, self.username, self.password) self.ftp.chdir(self.path) return self.ftp def remove_file(self, name): try: self.ftp.remove(name) except Exception as e: self.ftp.rmdir(name)
def ftp(self): """If the data is to be obtained by FTP here is the ftputil object.""" ftp = FTPHost(self.ftp_url, "anonymous") ftp.chdir(self.ftp_dir) return ftp
def ftp(self): """If the data is to be obtained by FTP, here is the ftputil object.""" from ftputil import FTPHost ftp = FTPHost(self.ftp_url, "anonymous") ftp.chdir(self.ftp_dir) return ftp
def chdir(self, path): FTPHost.chdir(self, path) self.setcwd()