

def __call__(self, *funcObjs):
    "\n        Add one or more functions to the set of exposed functions.\n\n        This is a way to declare something about a class definition, similar to\n        L{zope.interface.implements}.  Use it like this::\n\n        | magic = Expose('perform extra magic')\n        | class Foo(Bar):\n        |     def twiddle(self, x, y):\n        |         ...\n        |     def frob(self, a, b):\n        |         ...\n        |     magic(twiddle, frob)\n\n        Later you can query the object::\n\n        | aFoo = Foo()\n        | magic.get(aFoo, 'twiddle')(x=1, y=2)\n\n        The call to C{get} will fail if the name it is given has not been\n        exposed using C{magic}.\n\n        @param funcObjs: One or more function objects which will be exposed to\n        the client.\n\n        @return: The first of C{funcObjs}.\n        "
    if (not funcObjs):
        raise TypeError('expose() takes at least 1 argument (0 given)')
    for fObj in funcObjs:
        fObj.exposedThrough = getattr(fObj, 'exposedThrough', [])
        self.exposedThrough.append(self)
    return funcObjs[0]

dataset/ETHPy150Open twisted/nevow/nevow/util.py Expose.__call__/VarMisuse@51/421 `fObj`->`self`