[Twisted-Python] Strange downloadPage behavior with embedded Python
Jean-Paul Calderone
exarkun at divmod.com
Thu Dec 4 08:43:01 MST 2008
On Thu, 4 Dec 2008 10:28:46 -0500, James Joplin <thejayjay at gmail.com> wrote:
>We have been using python embedded via the C API and have used Twisted for
>various things. We have come across some strange behavior and I cannot
>figure out what is going on.
>
>
>from twisted.internet import reactor
>from twisted.web.client import downloadPage
>
>...
>
>def fetchRepo():
> global gameType, gameName, setupComplete, cp
> if (setupComplete):
> url = urlbase + "/" + gameType + "/" + gameName +
>"/repo.ini"
> print "url is : " + url
> d = downloadPage(url, "C:\\svntest\\gamerepo.ini")
> d.addCallback(downloadSuccess)
> d.addErrback(downloadFailure)
> #cp.readfp(open("C:\\game-repo.ini"))
> else:
> print "urls not setup, throw errors etc."
>...
>
>This is an example of how we have been using downloadPage from
>twisted.web.client. I have no problems getting the example to work when I
>make a simple app or write the code into the intrepeter. But if I use it
>inside my app I get the user timeout below.
>
>Unhandled error in Deferred:
>Traceback (most recent call last):
>Failure: twisted.internet.error.TimeoutError: User timeout caused connection
>failure.
>
>
>Am I forgetting something trivial? The reactor is running as we use PB for
>database pooling. Can I not call downloadPage after a reactor is setup and
>connected?
Calling downloadPage after reactor.run is fine. I'd take a look at DNS and
firewall settings for problems there.
Jean-Paul
More information about the Twisted-Python
mailing list