import problem with twisted.web server

Posted by Carson Myers on Stack Overflow See other posts from Stack Overflow or by Carson Myers
Published on 2010-05-14T22:54:22Z Indexed on 2010/05/15 1:44 UTC
Read the original article Hit count: 372

Filed under:
|
|

I'm just getting started with twisted.web, and I'm having trouble importing a Python module into a .rpy script.

in C:\py\twisted\mysite.py, I have this:

from twisted.web.resource import Resource
from twisted.web import server

class MySite(Resource):
    def render_GET(self, request):
        request.write("<!DOCTYPE html>")
        request.write("<html><head>")
        request.write("<title>Twisted Driven Site</title>")
        request.write("</head><body>")
        request.write("<h1>Twisted Driven Website</h1>")
        request.write("<p>Prepath: <pre>{0}</pre></p>".format(request.prepath))
        request.write("</body></html>")
        request.finish()
        return server.NOT_DONE_YET

and in C:\py\twisted\index.rpy, I have this:

import mysite
reload(mysite)

resource = mysite.MySite()

I ran twistd -n web --port 8888 --path C:\py\twisted in command prompt and the server started successfully. But when I requested localhost:8888 I got a (huge) stack trace originating from an ImportError:

<type 'exceptions.ImportError'>: No module named mysite

I can import the module from the interpreter, and if i just execute index.rpy as a python script, I don't get the import error. The documentation on this subject is a bit vague, it just says "However, it is often a better idea to define Resource subclasses in Python modules. In order for changes in modules to be visible, you must either restart the Python process, or reload the module:" (from here).

Does anyone know the proper way to do this?

© Stack Overflow or respective owner

Related posts about twisted

Related posts about twisted.web