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