<br><br><br><div class="gmail_quote">On Sun, Oct 18, 2009 at 9:55 AM, Jim Fulton <span dir="ltr">&lt;<a href="mailto:jim@zope.com">jim@zope.com</a>&gt;</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. &lt;<a href="mailto:thebbzoo@gmail.com">thebbzoo@gmail.com</a>&gt; wrote:<br>
...<br>
<div class="im">&gt; Background:<br>
&gt; -----------------------<br>
&gt; After update of<br>
&gt;  - an application, with some modules being renamed<br>
&gt;  - python from 2.5 to 2.6<br>
&gt;  - zodb<br>
&gt; an updatescript is called to refresh the broken objects.<br>
&gt; The objects are stored in dict of type &lt;class<br>
&gt; &#39;zope.container.contained.ContainedProxy&#39;&gt; with a simple unicode key to the<br>
&gt; object mapping.<br>
<br>
</div>ContainedProxy isn&#39;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]: &lt;BTrees.OOBTree.OOBTree object at 0x12bd250&gt;<br>
<br>
In [13]: type( sc )<br>
Out[13]: &lt;class &#39;zope.container.contained.ContainedProxy&#39;&gt;<br>
<br>
In [14]: sc.__class__<br>
Out[14]: &lt;type &#39;BTrees.OOBTree.OOBTree&#39;&gt;<br>
<br><br>/Brian<br></div></div>