<br><br><br><div class="gmail_quote">On Sun, Oct 18, 2009 at 9:55 AM, Jim Fulton <span dir="ltr"><<a href="mailto:jim@zope.com">jim@zope.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Sat, Oct 17, 2009 at 12:49 PM, B. B. <<a href="mailto:thebbzoo@gmail.com">thebbzoo@gmail.com</a>> wrote:<br>
...<br>
<div class="im">> Background:<br>
> -----------------------<br>
> After update of<br>
> - an application, with some modules being renamed<br>
> - python from 2.5 to 2.6<br>
> - zodb<br>
> an updatescript is called to refresh the broken objects.<br>
> The objects are stored in dict of type <class<br>
> 'zope.container.contained.ContainedProxy'> with a simple unicode key to the<br>
> object mapping.<br>
<br>
</div>ContainedProxy isn't a container type. It is a generic proxy that ads<br>
__parent__ and __named__ attributes. Does it actually proxy a Python<br>
dict? What does foo.__class__ return where foo is one of these<br>
containers?<br>
<br></blockquote><div><br>No, it is a persistent container. The prompt say it s OOBTree...<br><br>In [12]: sc<br>
Out[12]: <BTrees.OOBTree.OOBTree object at 0x12bd250><br>
<br>
In [13]: type( sc )<br>
Out[13]: <class 'zope.container.contained.ContainedProxy'><br>
<br>
In [14]: sc.__class__<br>
Out[14]: <type 'BTrees.OOBTree.OOBTree'><br>
<br><br>/Brian<br></div></div>