"has()" not implemented in method unrestrictedTraverse() in OFS/Traversable.py
In Zope 2.4.1-beta1 in the OFS/Traversable module, unrestrictedTraverse(...) calls a method "has()" which apparently has not been implemented. unrestrictedTraverse() looks to be completely rewritten, and with not being able to spend lots of time looking at the code, I don't know how to fix it... Here is part of the Zope error message and traceback: <traceback> Zope Error! Zope has encountered an error while publishing this resource. Error Type: NameError Error Value: global name 'has' is not defined If the error persists please contact the site maintainer. Thank you for your patience. File /home/www/Zope.15/src/Zope-2.4.1-src/lib/python/Products/PythonScripts/PythonScript.py, line 363, in _exec (Object: list_events_of_type) (Info: ({'script': <PythonScript instance at a300a90>, 'context': <Folder instance at a43d520>, 'container': <Folder instance at a43d520>, 'traverse_subpath': []}, ('event_papers_presented',), {}, (None, None))) File Script (Python), line 5, in list_events_of_type File /home/www/Zope.15/src/Zope-2.4.1-src/lib/python/OFS/Traversable.py, line 233, in restrictedTraverse (Object: LockableItem) File /home/www/Zope.15/src/Zope-2.4.1-src/lib/python/OFS/Traversable.py, line 193, in unrestrictedTraverse (Object: ApplicationDefaultPermissions) NameError: (see above) </traceback> Yeah, it's beta, but I thought that I'd bring it to your attention. Maybe this has been fixed already. What should "has()" be doing at this point? Thanks, -Chris -- -------------------------------------------------------------------- Christopher N. Deckard | Lead Web Systems Developer cnd@ecn.purdue.edu | Engineering Computer Network http://www.ecn.purdue.edu/ | Purdue University ---- zlib.decompress('x\234K\316Kq((-J)M\325KM)\005\000)"\005w') ---
I think I got the wrong version on that one... Looks like we are running 2.4.1, not 2.4.1-beta1. Should this be hasattr? I realize this should go into the bug collector, but I'm just looking for a quick work around if one exists. Thanks, -Chris "Christopher N. Deckard" wrote:
In Zope 2.4.1-beta1 in the OFS/Traversable module, unrestrictedTraverse(...) calls a method "has()" which apparently has not been implemented. unrestrictedTraverse() looks to be completely rewritten, and with not being able to spend lots of time looking at the code, I don't know how to fix it...
Here is part of the Zope error message and traceback:
<traceback>
Zope Error!
Zope has encountered an error while publishing this resource.
Error Type: NameError Error Value: global name 'has' is not defined
If the error persists please contact the site maintainer. Thank you for your patience.
File /home/www/Zope.15/src/Zope-2.4.1-src/lib/python/Products/PythonScripts/PythonScript.py, line 363, in _exec (Object: list_events_of_type) (Info: ({'script': <PythonScript instance at a300a90>, 'context': <Folder instance at a43d520>, 'container': <Folder instance at a43d520>, 'traverse_subpath': []}, ('event_papers_presented',), {}, (None, None))) File Script (Python), line 5, in list_events_of_type File /home/www/Zope.15/src/Zope-2.4.1-src/lib/python/OFS/Traversable.py, line 233, in restrictedTraverse (Object: LockableItem) File /home/www/Zope.15/src/Zope-2.4.1-src/lib/python/OFS/Traversable.py, line 193, in unrestrictedTraverse (Object: ApplicationDefaultPermissions) NameError: (see above)
</traceback>
Yeah, it's beta, but I thought that I'd bring it to your attention. Maybe this has been fixed already.
What should "has()" be doing at this point?
Thanks, -Chris
-- -------------------------------------------------------------------- Christopher N. Deckard | Lead Web Systems Developer cnd@ecn.purdue.edu | Engineering Computer Network http://www.ecn.purdue.edu/ | Purdue University ---- zlib.decompress('x\234K\316Kq((-J)M\325KM)\005\000)"\005w') ---
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Here's a quick workaround: In $ZOPE/lib/python/OFS/Traversable.py, add the following line after line 144 (the one that contains "get=getattr"): has=hasattr ...then restart Zope. Sorry, Evan @ Zope
participants (2)
-
Christopher N. Deckard -
Evan Simpson