Andreas Johnsen wrote:
Let's say I have defined 'class MyViewlet(viewlet.ViewletBase)' and
registered it with the <browser:viewlet> directive. The class
'MyViewlet' has a docstring. How can I get this docstring from the
render() method in a viewlet manager?

In the viewlet manager the viewlet instance is an instance of
'zope.viewlet.metaconfigure.MyViewlet' and not my class 'MyViewlet'.

Yeah. Dynamic class generation sucks. For some reason, the bad example led by browser:page has caught on and now nearly all browser-related ZCML directives do it.

Is there a path from 'zope.viewlet.metaconfigure.MyViewlet' to the
class 'MyViewlet' or any other suggestions on how to get the
docstring defined in my class from a viewlet manager?

You could get the right base class from __bases__ and look at that class's __doc__.

Zope3-users mailing list

Reply via email to