On Nov 20, 2012, at 11:44 AM, Brian Knudson wrote:

>> 
>>> Here's some example code (pardon the length).  I would like to be able
>> to
>>> print the listed files/urls from the function "lister".  Ultimately, I'd
>>> like to then have that function formulate new urls & pass them back to
>>> connectAndDownload to download each of the files (of course, this will
>>> require modifications to connectAndDownload, but we're not there yet).
>> 
>> Why use threads at all? QFtp is asynchronous and won't block. If you need
>> to do some blocking processing of the results then create threads for that.
>> 
> 
> Hmm.  Good point.  I've tested this again in the main thread & it works as 
> expected.
> 
> FWIW, I had already written the threaded ftp for multiple ftp streams & was 
> trying to reuse it for this purpose (hence the threads).  Assuming this is a 
> Qt bug, I'll happily skip the threaded bit & move back to the main thread.
> 

I may have spoken too soon.  While this works fine in my example script, when I 
put it in a QWizardPage, it doesn't run.  I suspect this has something to do 
with the event loop thinking it has completed (or hasn't started?)

For grins, I created a thread that does nothing but wait.  It waits on the ftp 
list command to finish, then it finishes.  I then start the thread, then wait 
on it.  This does not solve the problem, however, as there is still no event 
loop for the QFtp, so it does nothing.  Clearly, I don't understand how event 
loops work with QWizardPage and QFtp.

The goal: When a user lands on the given qwizard page, several small text files 
are downloaded from ftp & the contents of those files are used to drive the 
rest of the wizard.  I would like for the files to be downloaded as part of 
initializePage & the UI built around the results.  Is this possible?
Currently, I see the ftp commands being queued up, but none ever run... 
*unless* there's a problem on the page & I get an exception/traceback (which I 
suspect does something to the event loop), in which case ftp works as I expect 
it would - directory listed, filenames printed, etc.  No exception/traceback: 
no ftp commands completed.  Exception/traceback: all ftp commands complete.

To be concise:  How do you get a QFtp to run commands in a QWizardPage w/o a 
button click?

Thanks,
-Brian
_______________________________________________
PyQt mailing list    PyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Reply via email to