Package twisted :: Package web :: Module widgets :: Class Gadget
[frames | no frames]

Class Gadget

Resource --+
           |
          Gadget

Known Subclasses:
ChangePasswordForm, IdentitiesGadget, NewIdentityForm, NewPerspectiveForm, ParticipantListWidget, PerspectivesGadget, RemoveIdentityForm, RemovePerspectiveForm, WordsGadget

I am a collection of Widgets, to be rendered through a Page Factory. self.pageFactory should be a Resource that takes a Widget in its constructor. The default is twisted.web.widgets.WidgetPage.
Method Summary
  __init__(self)
Initialize.
  addFile(self, path)
Gadget.addFile(path) Add a static path to this Gadget.
  getChild(self, path, request)
Retrieve a 'child' resource from me.
  getWidget(self, path, request)
  pageFactory(self, *args, **kwargs)
Gadget.pageFactory(*args, **kwargs) -> Resource By default, this method returns self.page(*args, **kwargs).
  putPath(self, path, pathname)
Gadget.putPath(path, pathname) Add a static path to this Gadget.
  putWidget(self, path, widget)
Gadget.putWidget(path, widget) Add a Widget to this Gadget.
  render(self, request)
Render a given resource.
    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
int isLeaf = 0                                                                     
    Inherited from Resource
tuple __implements__ = (<class twisted.web.resource.IResource ...
NoneType server = None                                                                  

Method Details

__init__(self)
(Constructor)

Initialize.
Overrides:
twisted.web.resource.Resource.__init__ (inherited documentation)

addFile(self, path)

Gadget.addFile(path) Add a static path to this Gadget. This method is obsolete, use Gadget.putPath instead.

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)

pageFactory(self, *args, **kwargs)

Gadget.pageFactory(*args, **kwargs) -> Resource By default, this method returns self.page(*args, **kwargs). It is only for backwards-compatibility -- you should set the 'pageFactory' attribute on your Gadget inside of its __init__ method.

putPath(self, path, pathname)

Gadget.putPath(path, pathname) Add a static path to this Gadget. Whenever 'path' is requested, twisted.web.static.File(pathname) is sent.

putWidget(self, path, widget)

Gadget.putWidget(path, widget) Add a Widget to this Gadget. It will be rendered through the pageFactory associated with this Gadget, whenever 'path' is requested.

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)

Class Variable Details

isLeaf

Type:
int
Value:
0                                                                     

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