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 upload_to_sra(self): # Print # print self.s.short_name # Connect # print "Connecting..." ftp = FTPHost(sra.ftp_server, sra.ftp_login, str(sra.ftp_password)) # Make directory # print "Making directories..." ftp.makedirs(self.directory) # Upload # dest_path = self.directory + self.name print "Uploading to '%s' (%s)..." % (dest_path, self.s.p.raw_sff.size) ftp.upload(self.s.p.raw_sff, dest_path) # Return # ftp.close()
def upload_to_ena(self): # Connect # print "Connecting..." ftp = FTPHost(ftp_server, ftp_login, str(ftp_password)) # Gzip if not there yet # if not self.raw_gz.exists: self.raw.fwd.gzip_to(self.p.raw_forward_gz) self.raw.rev.gzip_to(self.p.raw_reverse_gz) # Make directory # directory = '/ILLUMITAG/run%03d/pool%02d/sample%02d/' directory = directory % (self.pool.run_num, self.pool.num, self.num) print "Making directories..." ftp.makedirs(directory) # Upload # base_path = directory + 'run%03d_pool%02d_sample%02d_{}_reads.fastq.gz' base_path = base_path % (self.pool.run_num, self.pool.num, self.num) print "Uploading forward..." ftp.upload(self.p.raw_forward_gz, base_path.format("forward")) print "Uploading reverse..." ftp.upload(self.p.raw_reverse_gz, base_path.format("reverse")) # Return # ftp.close()
def upload_to_sra(self, verbose=True): """They have an FTP site where you should drop the files first""" # Print # if verbose: print self.s.short_name + ' (' + self.s.name + ')' # Connect # if verbose: print "Connecting..." ftp = FTPHost(ftp_server, ftp_login, str(ftp_password)) # Gzip if not there yet # if not self.s.raw_gz.exists: self.s.raw.fwd.gzip_to(self.s.p.raw_forward_gz) self.s.raw.rev.gzip_to(self.s.p.raw_reverse_gz) # Make directory # if verbose: print "Making directories..." ftp.makedirs(self.directory) # Upload # base_path = self.directory + self.base_name if verbose: print "Uploading forward..." ftp.upload(self.s.p.raw_forward_gz, base_path.format("forward")) if verbose: print "Uploading reverse..." ftp.upload(self.s.p.raw_reverse_gz, base_path.format("reverse")) # Return # ftp.close()
while True: server = input("Set server address: ") if server == "": server = "192.168.0.81" user = input("User: "******"": user = "******" password = input("Password: "******"": password = "******" try: ftp_host = FTPHost(server, user, password) break except error.PermanentError as e: print(e) actions(ftp_host) except KeyboardInterrupt: print("Force exit...") if ftp_host: ftp_host.close() # names = ftp_host.listdir(ftp_host.curdir) # for name in names: # if ftp_host.path.isfile(name): # ftp_host.download(name, name) # remote, local # # Make a new directory and copy a remote file into it. # with ftp_host.open("~/test.txt", "rb") as source: # with ftp_host.open("index.html", "wb") as target: # ftp_host.copyfileobj(source, target) # similar to shutil.copyfileobj