#!/usr/bin/python __version__ = "$Revision: 0.5 $" __author__ = "Nicolas Seriot" __date__ = "2005-10-01" """ USAGE $ myftp - list directory $ myftp file.txt - send file.txt $ myftp rm file.txt - removes file.txt """ from ftplib import * from sys import * import os # config FTP_NAME = 'ftp.foobar.net' HTTP_NAME = 'http://foobar.net/tmp' FTP_DIR = 'httpdocs/tmp' FTP_USER = 'username' FTP_PASS = 'password' ftp = FTP(FTP_NAME) ftp.login(FTP_USER, FTP_PASS) ftp.cwd(FTP_DIR) def show(s): l = s.split() name = l[8] if name in ['.', '..']: return if l[0].startswith('d'): name += '/' size = l[4] date = "%s %s %s" % tuple(l[5:8]) print date.ljust(13) + " " + size.rjust(7) + " " + name.ljust(10) if len(argv) == 1: ftp.dir(show) elif len(argv) == 2: for arg in argv[1:]: print "sending %d bytes" % os.stat(arg)[6] name = arg.split('/')[-1] ftp.storbinary('STOR ' + name, open(arg)) print HTTP_NAME + '/' + name elif argv[1] == 'rm': for arg in argv[2:]: name = arg.split('/')[-1] try: ftp.delete(name) print "delete " + HTTP_NAME + '/' + name except: print name + " does not exist" pass else: print "bad command" ftp.quit()