Package twisted :: Package web :: Package woven :: Module guard :: Class PerspectiveWrapper
[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.
  getChild(self, path, request)
Retrieve a 'child' resource from me.
    Inherited from Resource
  delEntity(self, name)
Remove a static reference for 'name'.
  getChildForRequest(self, request)
(internal) Get a child of mine dependant on a particular request.
  getChildWithDefault(self, path, request)
Retrieve a static or dynamically generated child resource from me.
  getDynamicEntity(self, name, request)
Subclass this to generate an entity on demand.
  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)
  listNames(self)
  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.
  putChild(self, path, child)
Register a static child.
  reallyPutEntity(self, name, entity)
  render(self, request)
Render a given resource.
    Inherited from ConfigCollection
  entityConstraint(self, entity)
A method that determines whether an entity may be added to me.
  getEntityType(self)
  getNameType(self)
    Inherited from Constrained
  nameConstraint(self, name)
A method that determines whether an entity may be added to me with a given name.
  putEntity(self, name, entity)
Store an entity if it meets both constraints.
    Inherited from Collection
  getEntity(self, name, request)
Retrieve an entity from me.
  removeEntity(self, name, request)
Remove an entity for 'name', based on the content of 'request'.
  storeEntity(self, name, request)
Store an entity for 'name', based on the content of 'request'.

Class Variable Summary
    Inherited from Resource
tuple __implements__ = (<class twisted.web.resource.IResource ...
int isLeaf = 0                                                                     
NoneType server = None                                                                  

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

Generated by Epydoc 2.0 on Sat Sep 13 04:20:55 2003 http://epydoc.sf.net