[Twisted-Python] Dynamic web application using twisted.web.resource
Itamar Shtull-Trauring
twisted at itamarst.org
Tue Jul 30 13:48:55 EDT 2002
Mukhsein Johari wrote:
> The thing is, I know I need to use twisted.web.resource but I'm not sure
> _how_. How does this fit in with the .rpy file? I think I need to create my
> modules and classes and then create an .rpy which acts as the
> erm..'interface' to the modules and classes. Could someone give me some hints
> and tips?
The model you're describing is just what Zope's ZPublisher and Quixote do. I
would suggest using Zope, but if you feel it's too heavy then Quixote will
likely be a perfect fit.
Another alternative, if you intend to use Twisted's other capabilities and
thus want to use twisted.web, is something like this:
class PublisherResource(resource.Resource):
isLeaf = 1
def __init__(self, root):
self.root = root
def render(self, request):
obj = self.root
for p in request.postpath:
# convert "/foo/bar" to self.root.foo.bar
obj = getattr(obj, p)
if not callable(obj):
return "arg"
else:
return obj(request)
Of course, this is probably insecure, buggy, and may not even work, but
that's the general idea of how to do it.
More information about the Twisted-Python
mailing list