[ZODB-Dev] Odd output from checkbtrees.py

Dieter Maurer dieter at handshake.de
Sun Aug 31 20:15:06 EDT 2003


Paul Winkler wrote at 2003-8-28 15:55 -0400:
 > ...
 > >  > Correct. And in fact, there were 2 issues to deal with:
 > >  > 1) obj.__dict__.items() sometimes picks things up
 > >  > through acquisition, as demonstrated by the problem with DCWorkflow
 > >  > transitions (and states, BTW).
 > > 
 > > I do not want to believe this.
 > > 
 > > It is impossible unless someone defined "__dict__= Acquired".
 > > And this is only possible with special classes implemented in C.
 > 
 > Nevertheless, go into your debugger, get a ZODB connection to a
 > database that contains at least one DCWorkflow stuff, find an instance of 
 > TransactionDefinition, and you will see that its __dict__ contains
 > items from its container. 

I did as you suggested and I saw:

[('actbox_url', '%(content_url)s/RedirectingWorkflowAction?transition=release'), ('id', 'release'), ('__ac_local_roles__', {'dieter': ['Owner']}), ('actbox_name', 'Nachricht online stellen'), ('after_script_name', ''), ('guard', <Guard instance at 935b400>), ('script_name', 'release'), ('actbox_category', 'workflow'), ('title', 'freigeben'), ('trigger_type', 1), ('new_state_id', 'released')]

There is nothing obtained via acquisition.


Again: "obj.__dict__.items()" cannot use acquisition.


Dieter



More information about the ZODB-Dev mailing list