[Twisted-web] Re: [PATCH] nevow.static.File directory listing

Lee Harr missive at hotmail.com
Mon Apr 5 16:43:03 MDT 2004

>Aha! All becomes clear.
>>If there is a better way, I am certainly willing to use it.
>Yep, it's much simpler too :)
>Although locateChild() is the "official" API for URL traversal,
>rend.Page adds some more convenient ways of specifying children. The one
>you probably want is so define a child_images attribute on your root
>page's class:
>         from twisted.application import internet, service
>         from twisted.web import static
>         from nevow import appserver
>         from nevow import rend
>         from nevow import static
>         class RootPage(rend.Page):
>             # Mount the 'images' directory at the '/images' URl
>             child_images = static.File('images')
>             docFactory = rend.htmlstr(
>                 '''
>                 <html>
>                   <body>
>                     <img src="/images/TwistedLogoFull.png" />
>                     <p>Blah, blah, blah</p>
>                   </body>
>                 </html>
>                 '''
>                 )
>         application = service.Application('static')
>         webServer = internet.TCPServer(
>             8000,
>             appserver.NevowSite(RootPage()))
>         webServer.setServiceParent(application)

Ok. Cool. That looks nice.

With that example, and unpatched nevow, I still get an error when
trying to browse to   http://localhost/images   (note, no trailing slash)
The error is the same as in my last post ...

File "/usr/local/lib/python2.3/site-packages/twisted/python/filepath.py", 
line 138, in open
    return open(self.path, mode+'b')
exceptions.IOError: [Errno 21] Is a directory

Also... trying to get the Nevow module from anonymous cvs is giving
me an error:

$cvs -d:pserver:anon at divmod.org:/cvs co Nevow
cvs server: cannot find module `Nevow' - ignored
cvs [checkout aborted]: cannot expand modules

Thank you for your time.

STOP MORE SPAM with the new MSN 8 and get 2 months FREE* 

More information about the Twisted-web mailing list