Class n.r.ChildLookupMixin(FreeformChildMixin):

Part of nevow.rend View Source View In Hierarchy

Known subclasses: nevow.rend.Page

No class docstring

Split Table into Classes Show Methods in One Table

Line # Kind Name Docs
456 Method locateChild Locate a child page of this one. ctx is a
497 Method childFactory Used by locateChild to return children which are generated
509 Method putChild Undocumented

Inherited from FreeformChildMixin:

Line # Kind Name Docs
168 Method child_freeform_hand Undocumented
Line # Kind Name Docs
168 Method child_freeform_hand Undocumented
497 Method childFactory Used by locateChild to return children which are generated
456 Method locateChild Locate a child page of this one. ctx is a
509 Method putChild Undocumented
def locateChild(self, ctx, segments): (source)

Locate a child page of this one. ctx is a nevow.context.PageContext representing the parent Page, and segments is a tuple of each element in the URI. An tuple (page, segments) should be returned, where page is an instance of nevow.rend.Page and segments a tuple representing the remaining segments of the URI. If the child is not found, return NotFound instead.

locateChild is designed to be easily overridden to perform fancy lookup tricks. However, the default locateChild is useful, and looks for children in three places, in this order:
  • in a dictionary, self.children
  • a member of self named child_<childname>. This can be either an attribute or a method. If an attribute, it should be an object which can be adapted to IResource. If a method, it should take the context and return an object which can be adapted to IResource.
  • by calling self.childFactory(ctx, name). Name is a single string instead of a tuple of strings. This should return an object that can be adapted to IResource.
def childFactory(self, ctx, name): (source)

Used by locateChild to return children which are generated dynamically. Note that higher level interfaces use only locateChild, and only nevow.rend.Page.locateChild uses this.

segment is a string represnting one element of the URI. Request is a nevow.appserver.NevowRequest.

The default implementation of this always returns None; it is intended to be overridden.
def putChild(self, name, child): (source)
Undocumented
API Documentation for Nevow, generated by pydoctor.