Comment 3 for bug 691841

Revision history for this message
Gary Poster (gary) wrote :

Barry, thank you for looking at this. FWIW, I think it is very defensible that inspect.isclass does not return True for a Zope interface. Zope interfaces are made with the class statement, but are really class instances via old-style metaclass trickery, as I'm sure you knew way back when you dealt with this stuff. Therefore, I think that particular issue is not something any upstream should deal with.

I did apply my patch from comment #2. There was a small bug in it (line 19 should have been "tag = member.queryTaggedValue(LAZR_WEBSERVICE_EXPORTED)", but when I fixed it, it made the lazr.restful tests better in Python 2.7 but not without errors. I then tried to upgrade Zope packages to see if that would randomly fix the problem, but it did not.

The next test failure appears to come about because python2.7's httplib.py no longer handles None as a header value in HTTPConnection.putheader (pertinent code was "str = '%s: %s' % (header, value)" and is now "str = '%s: %s' % (header, '\r\n\t'.join(values))"). That looks like a change that could have been more backwards compatible in Python. We can easily accommodate it though. Changing these affected tests is the next thing to do to address this package's Python 2.7 failures. I won't know if it's the last until it's done. :-)