[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