Hello,
I have this serious show-stopper problem that I do not know how to get around, so any input is appreciated.
I am building a Product that is basically a Zope interface to a set of non-Zope APIs to a directory system.
In my product at one point I receive a list of (not zope-based) objects from a factory method in the API set. These objects all represent Persons with all necesary attributes and lazy DB lookup etc. Very neat.
What is not so neat is that I have no means of zope-unpack them and display them in a ZPT.
I have tried the following in my product class:
def _zopify(self, o): # wrap object o in a an Acquisition.ImplicitAcquisitionWrapper # add __allow_access_to_unprotected_subobjects = 1 # Return o o.__allow_access_to_unprotected_subobjects = 1 return Acquisition.ImplicitAcquisitionWrapper(o, self)
and in my product code I do this.
plist = get_non_zope_person_object_list(...) return [self._zopify(person) for person in plist ]
but I still get
""" The container has no security assertions. Access to 'lname' of (Products.pdbapi.person.Person instance at 0x03449DA0) denied. """
errors when I try to access the attributes of a person object in the list.
I am very reluctant to add zope-specific stuff to the set of APIs because they are used in several other places that are not Zope-specific.
I also would like not to have to duplicate code existing in the API just to have it become Zope-friendly, so I am trying to find alternative paths here.
Any help is appreciated. Thanks,
/dario
--
-- -------------------------------------------------------------------
Dario Lopez-Kästen, IT Systems & Services Chalmers University of Tech.
"...and click? damn, I need to kill -9 Word again..." - b using macosx
_______________________________________________
Zope-Dev maillist - Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists - http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )