Package twisted :: Package web :: Package woven :: Module tapestry :: Class Tapestry

[frames | no frames]

## Class Tapestry

    Resource --+
               |
              Tapestry

I am a top-level aggregation of Woven objects: a full `site' or `application'.

Method Summary
| ``__init__`(self, templateDirectory, viewFactory, metaTemplate)` Create a tapestry with a specified template directory.
| ``getChild`(self, path, request)` Retrieve a 'child' resource from me.
| `getSubview(self, request, node, model, viewName)`
| `makeView(self, model, name, parentCount)`
| ``render`(self, request)` Render a given resource.
| `templateMutate(self, document, parentCount)`
Inherited from Resource
| ``delEntity`(self, name)`
| ``getChildForRequest`(self, request)`
| ``getChildWithDefault`(self, path, request)` Retrieve a static or dynamically generated child resource from me.
| ``getDynamicEntity`(self, name, request)`
| ``getStaticEntity`(self, name)`
| ``listDynamicEntities`(self, request)`
| ``listDynamicNames`(self)`
| ``listEntities`(self)`
| ``listNames`(self)`
| ``listStaticEntities`(self)`
| ``listStaticNames`(self)`
| ``putChild`(self, path, child)` Register a static child.
| ``reallyPutEntity`(self, name, entity)`
| ``render_HEAD`(self, request)` Default handling of HEAD method.

Class Variable Summary
`class` | `viewFactory` = `twisted.web.woven.tapestry.TapestryView`
Inherited from Resource
`tuple` | `__implements__` = `(<class twisted.web.resource.IResource ...`
`int` | `isLeaf` = 0
`NoneType` | `server` = None

Method Details

### __init__(self, templateDirectory, viewFactory=None, metaTemplate=None)
(Constructor)

Create a tapestry with a specified template directory.

  Overrides:
    `twisted.web.resource.Resource.__init__`

### getChild(self, path, request)

Retrieve a 'child' resource from me.

Implement this to create dynamic resource generation -- resources which are always available may be registered with self.putChild().

This will not be called if the class-level variable 'isLeaf' is set in your subclass; instead, the 'postpath' attribute of the request will be left as a list of the remaining path elements.

For example, the URL /foo/bar/baz will normally be:

     | site.resource.getChild('foo').getChild('bar').getChild('baz').

However, if the resource returned by 'bar' has isLeaf set to true, then the getChild call will never be made on it.

  Parameters:
    `path` - a string, describing the child
    `request` - a twisted.web.server.Request specifying meta-information about the request that is being made for this child.
  Overrides:
    `twisted.web.resource.Resource.getChild` (inherited documentation)

### render(self, request)

Render a given resource. See `IResource`'s render method.

I delegate to methods of self with the form 'render_METHOD' where METHOD is the HTTP that was used to make the request. Examples: render_GET, render_HEAD, render_POST, and so on. Generally you should implement those methods instead of overriding this one.

render_METHOD methods are expected to return a string which will be the rendered page, unless the return value is twisted.web.server.NOT_DONE_YET, in which case it is this class's responsibility to write the results to request.write(data), then call request.finish().

Old code that overrides render() directly is likewise expected to return a string or NOT_DONE_YET.

  Overrides:
    `twisted.web.resource.Resource.render` (inherited documentation)

Generated by Epydoc 2.0 on Sat May 15 20:08:57 2004 | http://epydoc.sf.net