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

Matt Goodall matt at pollenation.net
Sun Apr 4 16:36:43 MDT 2004


On Sat, 2004-04-03 at 14:55, Lee Harr wrote:
> >> >> I was getting an infinitely recursive redirect
> >> >
> >> >
> >> > Actually, this patch (to nevow.static.File) will also
> >> > take care of the redirect:
> >> >
> >> >
> >> >
> >> > 274c274,281
> >> > <             return self.redirect(request)
> >> > ---
> >> >
> >> >>             if not request.uri.endswith('/'):
> >> >>                 self.redirect(request)
> >>
> >>You want to return the self.redirect(request). Otherwise the
> >>DirectoryLister will still get rendered to the body of the HTTP result,
> >>to no effect.
> >
> >It should probably also reuse the directoryListing() method, making the
> >change:
> >
> >          if self.fp.isdir():
> >-            return self.redirect(request)
> >+            if not request.uri.endswith('/'):
> >+                return self.redirect(request)
> >+            return self.directoryListing()
> >
> 
> 
> This one works for me.
> 
> Without the check, it goes in to a loop and never returns anything.

Lee,

Can you explain *why* you have the following code (copied from your
original post):


        from twisted.application import service
        from twisted.application import internet
        
        
        class ADir(rend.Page):
            def locateChild(self, request, segments):
                path = '/'.join(segments)
                return static.File(path), ()
        
        
        application = service.Application('ADirlist')
        webservice = internet.TCPServer(
            8080,
            appserver.NevowSite(ADir())
        )
        webservice.setServiceParent(application)


What is the use case? Why not let static.File handle everything?

Cheers, Matt

-- 
Matt Goodall, Pollenation Internet Ltd
w: http://www.pollenation.net
e: matt at pollenation.net

Any views expressed are my own and do not necessarily reflect
the views of my employer.




More information about the Twisted-web mailing list