ftp get from a Tkinter gui: advice wanted
Russell E. Owen
rowen at cesmail.net
Tue Aug 26 22:43:24 CEST 2003
In article <87zniar1iw.fsf at pobox.com>, jjl at pobox.com (John J. Lee)
>"Russell E. Owen" <rowen at cesmail.net> writes:
>> I'm writing a Tkinter app (telescope remote controller). The application
>> presently runs on unix and MacOS X and I think some users will want to
>> use Windows. It's going just fine, but I'm trying to add the ability to
>> automatically get images via binary ftp (i.e. as each image is recorded)
>> and am realizing it's harder than I though.
>> Ideally, I'd like image download to work like a typical web browser
>> download: a status window that shows each transfer, how far along it is,
>> allows the user to cancel it, etc.
>Not sure what "as each image is recorded" refers to,...
My application causes astronomical images to be written to disk on a
remote host. My app will then initiate an ftp transfer to retrieve the
"image" file on the remote host.
>but if you want
>to grab files via ftp, is there anything wrong with (in a separate
>thread, I suppose):
I suspect you're right. I was hoping not to have to write the log window
from scratch (especially as Tkinter has no good mult-list widget) but am
I'm using urllib.urlopen (urllib supports ftp with password, which I
need) and have got the basics done, though am about to post a query
about nonblocking read of the returned file object.
Tkinter file events seem to work on the returned file and this avoids
the need to use threads, so really the only significant work will be a
decent GUI for viewing status and allowing transfers to be aborted.
>If you don't mind pulling in more code, no doubt Twisted could do this
>just as simply too, and, I imagine, wouldn't need to use a separate
>thread (never used it, but I know it has support for various common
>GUI event loops).
Yes, the integration with various event loops is a big attraction. I may
end up there, but so far have been rolling my own code to avoid relying
on a 3rd party library.
Thank you for your reply!
More information about the Python-list