[Zope] Class instances changing address?
Jeff Gentry
jgentry at jimmy.harvard.edu
Fri Jan 20 17:14:10 EST 2006
On Fri, 20 Jan 2006, Dieter Maurer wrote:
> Your "B instance" above, is apparently not acquisition wrapped.
> Acquisition wrapped instances usually include the container path
> in their "repr" (if the intermediate objects have an id/getId --
> this is the case of instances with "ZMI representation" ("SimpleItem"s,
> to be precise).
This seems like a likely culprit, although on the surface I thought I was
wrapping 'B'. Based on another comment I tried reimplementing the system
so that instances of 'C' also had a ZMI representation, and I started
running through the system looking at the repr() of these instances (both
'B' and 'C'). What I saw was that 'B' would say:
<B instance at 2a9e9274e0> (or some other mem address)
while 'C' would say:
<C instance at /gg/some/path>
My knowledge of these things is poor but that would imply that B is not
properly wrapped? FWIW when I instantiate 'B' I do a _setObject() and
then a _getOb() and use the return value from that, my understanding being
that this is what wraps the object.
> Does your logfile contains unexplained entries?
No, unfortunately.
> Do you use "try: ... except: ..." and swallow valuable exception
> information?
It isn't clear to me what to except on. The error that gets thrown
doesn't appear to be a normal Zope error (e.g. AttributeError,
ProgrammingError, etc), it just says (in italics) something along the
lines of 'Psycopg_database_controller cannot be found' w/o traceback info,
etc.
Thanks
-J
More information about the Zope
mailing list