Package buildbot :: Package status :: Package web :: Module base :: Class ActionResource
[frames] | no frames]

Class ActionResource

source code

twisted.web.resource.Resource --+
                                |
                   object --+   |
                            |   |
                AccessorMixin --+
                                |
                               ActionResource
Known Subclasses:

A resource that performs some action, then redirects to a new URL.

Nested Classes

Inherited from twisted.web.resource.Resource: entityType

Instance Methods
 
getChild(self, name, request)
Retrieve a 'child' resource from me.
source code
 
performAction(self, request)
Perform the action, and return the URL to redirect to
source code
 
render(self, request)
Render a given resource.
source code

Inherited from twisted.web.resource.Resource: __init__, __providedBy__, __provides__, delEntity, getChildForRequest, getChildWithDefault, getDynamicEntity, getStaticEntity, listDynamicEntities, listDynamicNames, listEntities, listNames, listStaticEntities, listStaticNames, putChild, reallyPutEntity, render_HEAD

Inherited from AccessorMixin: getAuthz, getBuildmaster, getPageTitle, getStatus

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Variables
  isLeaf = 1

Inherited from twisted.web.resource.Resource: __implemented__, server

Properties

Inherited from object: __class__

Method Details

getChild(self, name, request)

source code 

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)

performAction(self, request)

source code 

Perform the action, and return the URL to redirect to

Parameters:
  • request - the web request
Returns:
URL via Deferred can also return (URL, alert_msg) to display simple feedback to user in case of failure

render(self, request)

source code 

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)