[Zope-dev] Next Step to Bug Resolution???
Shane Hathaway
shane at hathawaymix.org
Tue Jan 13 16:10:15 EST 2009
Tim Cook wrote:
> I DID submit a patch suggestion in the Launchpad bug report.
I think you're talking about this:
https://bugs.launchpad.net/zope3/+bug/301226
Sorry, but the patch doesn't make any sense. Your version of
_validate_fields quietly skips validation entirely by default. Why
would the function be called "_validate_fields" if it doesn't actually
validate unless the caller passes some special parameter? The function
needs to validate the fields regardless of the parameters.
> I would also like for you to explain just what it is about my "attitude"
> that you find so offensive/problematic?
Please ignore comments like that. They are not worth dealing with.
> I traced down and described the problem to the function level. I
> suggested a fix and asked for experts to review and apply it. I do not
> have (and am not qualified to have) commit access to ZCA source.
>
> So again, referring to the subject line. What are the next steps?
Here's a tip: for a programmer, good error messages are like gold. The
right error message will save you countless hours (or months) of
frustration. Therefore, making error messages readable is one of your
top priorities.
You have been presented with a very poor error message. Fixing that
error message doesn't look very difficult on the surface, so your first
priority should be to make that error message readable. Marius was on
the right track:
http://mail.zope.org/pipermail/zope3-users/2008-October/008218.html
Look at the __repr__ method of the ValidationError class in the
_bootstrapinterfaces.py module of the zope.schema package. This method
was designed to generate short error messages, but in your case it
appears to be truncating the error messages altogether. I would start
by changing that particular __repr__() method to:
def __repr__(self):
return '%s(%s)' % (self.__class__.__name__, repr(self.args))
This version prefers verbosity. At a minimum, I hope this version of
__repr__ will change the bizarre message
"zope.schema.interfaces.WrongContainedType: [, []]" into something legible.
Still, I don't know if my version of __repr__() is appropriate for
everyone else, so I am not going to touch SVN yet. For now, this is
just something that might help you find the real cause of the bug.
Shane
More information about the Zope-Dev
mailing list