Lennart Regebro wrote:


PAS basically swallow all errors without even logging them, meaning that if you have an error, it basically makes your plugin "invisible". Not good.

Here is the relevant snippet:

  #   Errors which plugins may raise, and which we suppress:
                                   , AttributeError
                                   , KeyError
                                   , TypeError
                                   , ValueError

PAS treats any one of them as a sign of a broken plugin, and substitues an "empty" default if a value is expected. My guess is that your plugin
had a mismatched argument list for the interface method, and hence raised a TypeError (probably in the extraction method, if none of the others were called).

One thing which might help your plugin is to have unit tests which verify the interfaces the plugin is supposed to implement. You should be able to just mix in the appropriate classes from tests/conformance.py
(which expect you to have a '_getTargetClass' method).

If an error happens, a LOG should be printed...

That wouldn't be a bad thing, at least when running in debug mode.

I need to get myself new commit rights at Zope.org again. ;)

Please do.

Tres Seaver                                [EMAIL PROTECTED]
Zope Corporation      "Zope Dealers"       http://www.zope.com

Zope-Dev maillist - [EMAIL PROTECTED]
** No cross posts or HTML encoding! **
(Related lists - http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )

Reply via email to