Just added __allow_access_to_unprotected_subobjects__=1 as an attribute of my class defined in an external python script and it works fine.
Thanks Tino!
Tino Wildenhain wrote:
_______________________________________________Hi,
Am Montag, den 11.04.2005, 14:08 +0300 schrieb Vangelis Mihalopoulos:
Andreas Jung wrote:
You should *not* define classes inside PythonScripts. PythonScripts are strictedAn External Method behaves exactly the same. I have not yet involved in writting even the simpler Product and i will not do it now for such a trivial issue.
and don't provide the full functionality. Either use filesystem based code (Zope
Product) or use simple Python datatypes as dictionaries in this case.
I tried to return a dictionary,
----- return {'a':1, 'b':2, 'c':3} ------
but it the DTML Doc fails with a KeyError.
Use a dict and if you really need DTML... see the keyword "mapping" for <dtml-with> and <dtml-in> tags.
If you want to return custom class objects into untrusted code (e.g. from external methods) you need to set security declarations on them - at least add the attribute:
__allow_access_to_unprotected_subobjects=1
(from top of head - just grep -r zopes source for the actual name)
HTH
Tino
Zope maillist - Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
** No cross posts or HTML encoding! **
(Related lists - http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope-dev )