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()
Beispiel #2
0
 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()
Beispiel #3
0
 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()
Beispiel #4
0
 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()
Beispiel #5
0
        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