Hello Jim Fulton, Thursday, September 29, 2005, 4:34:31 PM, you wrote:
JF> So I guess it didn't work. :) JF> I'll look into this. The first step will be to write a test for this. JF> The intent was definately that you would be able to get to a broken object's JF> state. not Test but for example ( if needed i try to spend time to write test ) zopectl> debug Starting debugger (the name "app" is bound to the top-level Zope object) >>> from Persistence import Persistent >>> class Test(Persistent): ... def __init__(self, id): ... self.id = id ... >>> test1 = Test('test1') >>> test2 = Test('test2') >>> app.test1 = test1 >>> app.test1.test2 = test2 >>> import transaction >>> transaction.commit() >>> # ctrl + d here zopectl> debug Starting debugger (the name "app" is bound to the top-level Zope object) 2005-09-29 10:50:09 WARNING ZODB Could not import class 'Test' from module '__main__' >>> test1 = app.test1 >>> test1.__dict__ {'_p_changed': None} >>> test1._p_activate() >>> test1.__dict__ {'_p_changed': None} >>> test1.test2 Traceback (most recent call last): File "<stdin>", line 1, in ? AttributeError: test2 >>> test1.__class__.__bases__ (<class 'OFS.Uninstalled.BrokenClass'>,) >>> conn = test1._p_jar >>> conn.setstate(test1) >>> test1.__dict__ {'test2': <__main__.Test object at 0x4015836c>, 'id': 'test1'} >>> del app.test1 >>> import transaction >>> transaction.commit() -- Best regards, Victor Safronovich NauMen.NauDoc.SoftwareDeveloper http://www.naumen.ru _______________________________________________ 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 )