Part of nevow.util View 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 Variables | attributeName | The attribute with which exposed methods will be tracked. |
| Line # | Kind | Name | Docs |
|---|---|---|---|
| 24 | Method | __init__ | Undocumented |
| 28 | Method | __call__ | Add one or more functions to the set of exposed functions. |
| 64 | Method | exposedMethodNames | Return an iterator of the names of the methods which are exposed on the |
| 75 | Method | get | Retrieve an exposed method with the given name from the given instance. |
Add one or more functions to the set of exposed functions.
This is a way to declare something about a class definition, similar tozope.interface.implements. 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 toget will fail if the name it is given has not
been exposed using magic.
| Parameters | funcObjs | One or more function objects which will be exposed to the client. |
| Returns | The first of funcObjs.
| |
| Returns | A callable object for the named method assigned to the given instance. | |
| Raises | UnexposedMethodError | Raised if default is not specified and there is no
exposed method with the given name.
|