Package twisted :: Package web :: Package woven :: Module guard :: Class PerspectiveWrapper |
[show private | hide private]
[frames | no frames]

## Class PerspectiveWrapper

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

I am a wrapper that will restrict access to Resources based on a `twisted.cred.service.Service`'s 'authorizer' and perspective list.

Please note that I must be in turn wrapped by a SessionWrapper, since my login functionality requires a session to be established.

Method Summary
| ``__init__`(self, service, noAuthResource, authResourceFactory, callback)` Create a PerspectiveWrapper.
| ``delEntity`(self, name)` Remove a static reference for 'name'. (inherited from `Resource`)
| ``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. (inherited from `Resource`)
| ``getChildWithDefault`(self, path, request)` Retrieve a static or dynamically generated child resource from me. (inherited from `Resource`)
| ``getDynamicEntity`(self, name, request)` Subclass this to generate an entity on demand. (inherited from `Resource`)
| ``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. (inherited from `Resource`)
| ``listDynamicEntities`(self, request)` A list of all name, entity that I can generate on demand. (inherited from `Resource`)
| ``listDynamicNames`(self)` Retrieve a list of the names of entities that I store references to. (inherited from `Resource`)
| `listEntities(self)` (inherited from `Resource`)
| `listNames(self)` (inherited from `Resource`)
| ``listStaticEntities`(self)` Retrieve a list of all name, entity pairs that I store references to. (inherited from `Resource`)
| ``listStaticNames`(self)` Retrieve a list of the names of entities that I store references to. (inherited from `Resource`)
| ``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 static child. (inherited from `Resource`)
| ``putEntity`(self, name, entity)` Store an entity if it meets both constraints. (inherited from `Constrained`)
| `reallyPutEntity(self, name, entity)` (inherited from `Resource`)
| ``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. (inherited from `Resource`)
| ``storeEntity`(self, name, request)` Store an entity for 'name', based on the content of 'request'. (inherited from `Collection`)

Method Details

### __init__(self, service, noAuthResource, authResourceFactory, callback=None) (Constructor) Create a PerspectiveWrapper. Parameters: `service` (type=`twisted.cred.service.Service`) `noAuthResource` - This parameter is the `Resource` that is used when the user is browsing this site anonymously. Somewhere accessible from this should be a link to 'perspective-init', which will display a `form.FormProcessor` that allows the user to log in. (type=`Resource`) `authResourceFactory` - This should be a function which takes as an argument perspective from 'service' and returns a `Resource` instance. (type=a callable object)

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

Generated by Epydoc 1.1 on Thu May 8 13:17:04 2003 | http://epydoc.sf.net