twisted.web._elementView Source (View In Hierarchy)
Helper for exposing methods for various uses using a simple decorator-style callable.
Instances of this class can be called with one or more functions as positional arguments. The names of these functions will be added to a list on the class object of which they are methods.
|Instance Variable||attributeName||The attribute with which exposed methods will be tracked.|
|Method||__call__||Add one or more functions to the set of exposed functions.|
|Method||get||Retrieve an exposed method with the given name from the given instance.|
|Class Method||_withDocumentation||No summary|
Add one or more functions to the set of exposed functions.
This is a way to declare something about a class definition, similar to
Use it like this:
magic = Expose('perform extra magic') class Foo(Bar): def twiddle(self, x, y): ... def frob(self, a, b): ... magic(twiddle, frob)
Later you can query the object:
aFoo = Foo() magic.get(aFoo, 'twiddle')(x=1, y=2)
The call to
get will fail if the name it is given has not
been exposed using
|Parameters||funcObjs||One or more function objects which will be exposed to the client.|
|Returns||The first of |
Retrieve an exposed method with the given name from the given instance.
|Returns||A callable object for the named method assigned to the given instance.|
|Raises||UnexposedMethodError||Raised if |
Slight hack to make users of this class appear to have a docstring to documentation generators, by defining them with a decorator. (This hack should be removed when epydoc can be convinced to use some other method for documenting.)