[PEAK] Need help interpreting traceback

Phillip J. Eby pje at telecommunity.com
Wed Oct 20 01:58:50 EDT 2004


At 01:51 AM 10/20/04 -0400, R. David Murray wrote:
>On Wed, 20 Oct 2004, Phillip J. Eby wrote:
> > Well, judging by what's shown, the error is in finding the 'Accounts'
> > attribute, which appears to be a binding.Obtain() on a
> > 'DMFor(Account)'.  So, the question is, in what component are you
> > *offering* the 'DMFor(Account)', and how is it that that component would
> > come to be a parent of the one doing the lookup?  Because, apparently, the
> > 'loadacctsCmd' object does not have any parents that offer a 
> DMFor(Account).
>
>I have this on my Commands(commands.Bootstrap) class:
>
>         Accounts = binding.Make('fcgbilling.storage.AccountDM',
>                 offerAs=[storage.DMFor(Account)])
>
>loadacctsCmd is a commands.AbstractCommand that is called from there...or
>I thought it was.  Maybe I missunderstood.  Aren't the subcomands
>config children of the app object?

Well, you can verify it by printing 'list(binding.iterParents(self))'.  If 
your Commands object isn't in the hierarchy, that would certainly indicate 
the issue.

Anyway, by default, a command will be made a child of the invoking 
command's 'getCommandParent()' method.  Unless you've overridden that 
method, it should return 'self'.  So I'm not sure what's going on here.  So 
the next step is to check what the actual parent objects are.




More information about the PEAK mailing list