Package twisted :: Package web :: Module resource :: Class Resource

[show private | hide private]
[frames | no frames]

## Class Resource

    Collection --+
                 |
       Constrained --+
                     |
      ConfigCollection --+
                         |
                        Resource

Known Subclasses:
  `Gadget`, `ReverseProxyResource`, `File`, `NameVirtualHost`, `ResourceSubscription`, `ErrorPage`, `Page`, `ResourceGuard`, `RewriterResource`, `PythonScript`, `ResourceScriptWrapper`, `SOAPPublisher`, `Redirect`, `Data`, `CGIScript`, `CGIDirectory`, `Redirect`, `_HostResource`, `VHostMonsterResource`, `WidgetResource`, `XMLRPC`, `Controller`, `BlankPage`, `FormProcessor`, `SessionWrapper`, `PerspectiveWrapper`, `Tapestry`, `_ChildJuggler`, `ModelLoader`, `DOMController`, `DOMTemplate`

I define a web-accessible resource.

I serve 2 main purposes; one is to provide a standard representation for what HTTP specification calls an 'entity', and the other is to provide an abstract directory structure for URL retrieval.

Method Summary
| ``__init__`(self)` Initialize.
| ``delEntity`(self, name)` Remove a static reference for 'name'.
| ``entityConstraint`(self, entity)` A method that determines whether an entity may be added to me. (inherited from `ConfigCollection`)
| ``getChild`(self, path, request)` Retrieve a 'child' resource from me.
| ``getChildForRequest`(self, request)` (internal) Get a child of mine dependant on a particular request.
| ``getChildWithDefault`(self, path, request)` (internal) Retrieve a static or dynamically generated child resource from me.
| ``getDynamicEntity`(self, name, request)` Subclass this to generate an entity on demand.
| ``getEntity`(self, name, request)` Retrieve an entity from me. (inherited from `Collection`)
| `getEntityType(self)` (inherited from `ConfigCollection`)
| `getNameType(self)` (inherited from `ConfigCollection`)
| ``getStaticEntity`(self, name)` Get an entity that was added to me using putEntity.
| ``listDynamicEntities`(self, request)` A list of all name, entity that I can generate on demand.
| ``listDynamicNames`(self)` Retrieve a list of the names of entities that I store references to.
| ``listEntities`(self)` Retrieve a list of all name, entity pairs that I store references to.
| ``listEntities`(self, request)` Retrieve a list of all name, entity pairs I contain. (inherited from `Collection`)
| ``listNames`(self)` Retrieve a list of the names of entities that I store references to.
| ``listNames`(self, request)` Retrieve a list of all names for entities that I contain. (inherited from `Collection`)
| ``listStaticEntities`(self)` Retrieve a list of all name, entity pairs that I store references to.
| ``listStaticNames`(self)` Retrieve a list of the names of entities that I store references to.
| ``nameConstraint`(self, name)` A method that determines whether an entity may be added to me with a given name. (inherited from `Constrained`)
| ``putChild`(self, path, child)` Register a child with me.
| ``putEntity`(self, name, entity)` Store an entity if it meets both constraints. (inherited from `Constrained`)
| `reallyPutEntity(self, name, entity)`
| ``removeEntity`(self, name, request)` Remove an entity for 'name', based on the content of 'request'. (inherited from `Collection`)
| ``render`(self, request)` Render a given resource.
| ``storeEntity`(self, name, request)` Store an entity for 'name', based on the content of 'request'. (inherited from `Collection`)

Class Variable Summary
`tuple` | `__implements__`
`class` | `IResource`
`int` | `isLeaf`
`None` | `server`

Method Details

### __init__(self)
(Constructor)

Initialize.

### delEntity(self, name)

Remove a static reference for 'name'.

Raises a KeyError if the operation fails.

  Overrides:
    `twisted.python.roots.Collection.delEntity` (inherited documentation)

### 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.

### getChildForRequest(self, request)

(internal) Get a child of mine dependant on a particular request.

This will be called on me as a top-level resource of a site in order to retrieve my appropriate child or grandchild to display.

### getChildWithDefault(self, path, request)

(internal) Retrieve a static or dynamically generated child resource from me.

Arguments are similiar to getChild.

This will check to see if I have a pre-registered child resource of the given name, and call getChild if I do not.

### getDynamicEntity(self, name, request)

Subclass this to generate an entity on demand.

This method should return 'None' if it fails.

  Overrides:
    `twisted.python.roots.Collection.getDynamicEntity` (inherited documentation)

### getStaticEntity(self, name)

Get an entity that was added to me using putEntity.

This method will return 'None' if it fails.

  Overrides:
    `twisted.python.roots.Collection.getStaticEntity` (inherited documentation)

### listDynamicEntities(self, request)

A list of all name, entity that I can generate on demand.

See getDynamicEntity.

  Overrides:
    `twisted.python.roots.Collection.listDynamicEntities` (inherited documentation)

### listDynamicNames(self)

Retrieve a list of the names of entities that I store references to.

See getDynamicEntity.

  Overrides:
    `twisted.python.roots.Collection.listDynamicNames` (inherited documentation)

### listEntities(self)

Retrieve a list of all name, entity pairs that I store references to.

See getStaticEntity.

  Overrides:
    `twisted.python.roots.Collection.listStaticEntities` (inherited documentation)

### listNames(self)

Retrieve a list of the names of entities that I store references to.

See getStaticEntity.

  Overrides:
    `twisted.python.roots.Collection.listStaticNames` (inherited documentation)

### listStaticEntities(self)

Retrieve a list of all name, entity pairs that I store references to.

See getStaticEntity.

  Overrides:
    `twisted.python.roots.Collection.listStaticEntities` (inherited documentation)

### listStaticNames(self)

Retrieve a list of the names of entities that I store references to.

See getStaticEntity.

  Overrides:
    `twisted.python.roots.Collection.listStaticNames` (inherited documentation)

### putChild(self, path, child)

Register a child with me.

### render(self, request)

Render a given resource.

This must be implemented in all subclasses of Resource.

The return value of this method 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().

Class Variable Details

### __implements__

  Type:
    `tuple`
  Value:

        (<class twisted.web.resource.IResource at 0x82e7414>,
         <class twisted.coil.coil.IConfigCollection at 0x8260ebc>)

### IResource

`IResource` = `twisted.web.resource.IResource`

### isLeaf

  Type:
    `int`
  Value:

        0

### server

  Type:
    `None`
  Value:

        None

Generated by Epydoc 1.1 on Sat Feb 15 21:18:16 2003 | http://epydoc.sf.net