On Sat, 2005-09-17 at 04:42 +0000, marduk wrote: > > ... and I haven't tried this myself, but you should be able to subclass > the builtin file object and prepare your own read() method. Something > like > > class ProgressFile(file): > > def read(self, size = None): > print '.', > > if size is not None: > return file.read(self, size) > else: > return file.read() > > May need some tweaking.. then store the file as > > ftp.storbinary("STOR " + file, ProgressFile(file, "rb"), 1024) > > Give it a try.. > > -m >
I corrected some errors and made some modifications to my previous post: class ProgressFile(file): def read(self, size = None): from sys import stdout if size is not None: buff = file.read(self, size) if buff: stdout.write('.') else: stdout.write('\n') return buff else: buff = '' while True: new_str = file.read(self, 1024) stdout.write('.') if new_str: buff = buff + new_str else: stdout.write('\n') break return buff if __name__ == '__main__': import sys fname = sys.argv[1] f = ProgressFile(fname) f.read() -- http://mail.python.org/mailman/listinfo/python-list