On Sun, 27 Nov 2005 18:12:54 +0100, Olivier Laurent <[EMAIL PROTECTED]> wrote:
On dim, 27 nov 2005, at 16:18, oli wrote:
I'm trying to serve 2 different kind of resources from the same
directory. I can, with no problem, serve one kind or the other but not
the two resource types at the same time.

Examples abounds on the web on how to serve one kind of resources from
subdirectory /foo and another kind from subdirectory /bar. But no
example on how to serve different kind of resources from the same
directory.

Here is how I tried:

# [...]

PATH = '/var/www/'

pt_resource = static.File(PATH)
pt_resource.processors = { '.pt' : PTResource }
pt_resource.indexNames = [ 'index' + '.pt' ]

rst_resource = static.File( PATH )
rst_resource.processors = { '.rst' : RSTResource }
rst_resource.indexNames = [ 'index' + '.rst' ]

#root = Resource() # I tried this too
root = static.File(PATH)

root.putChild(PATH, pt_resource)
root.putChild(PATH, rst_resource)

reactor.listenTCP(
       80,
       server.Site( root )
       )
reactor.run( )
# this is the end

What's wrong ? What did I forget ? Is it possible ?

"/var/www/" does not make sense as the first argument to putChild().  Someone would have 
to request "%2fvar%2fwww%2f" to get anything at that location.  Also, you cannot pass the 
same path to putChild() twice and expect both resources to figure out what to do.  Fortunately, you 
do not appear to need two resources.  I think you are looking for something like this:

 root = static.File(PATH)
 root.processors = {'.pt': PTResource, '.rst': RSTResource}
 root.indexNames = ['index.rst', 'index.pt']
 reactor.listenTCP(80, server.Site(root))
 reactor.run()

Jean-Paul

_______________________________________________
Twisted-web mailing list
[email protected]
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web

Reply via email to