[PEAK] Need help interpreting traceback

Phillip J. Eby pje at telecommunity.com
Wed Oct 20 01:26:43 EDT 2004


At 12:59 AM 10/20/04 -0400, R. David Murray wrote:
>OK, I've built my storage manager using sqlite.  I try to load my
>database, and I get the following traceback.  The problem is, I
>can't figure out where I should be looking for the problem.  It
>looks like there is some piece of configuration I'm missing, but I
>*think* I did everything outlined in the tutorial.  (Unfortunately
>I haven't gotten around to checking if the tutorial code still runs
>against the CVS version of PEAK I have checked out.)  Can anyone
>point me in the right direction?  If you need me to post code I
>will do so.
>
>-----------------
>
>   File "/usr/local/bin/peak", line 4, in ?
>     commands.runMain( commands.Bootstrap )
>   File "/usr/local/lib/python2.4/site-packages/peak/running/commands.py", 
> line 70, in runMain
>     result = factory().run()
>   File "/usr/local/lib/python2.4/site-packages/peak/running/commands.py", 
> line 211, in run
>     return self._run() or 0
>   File "/home/rdmurray/proj/fcgbilling/commands.py", line 99, in _run
>     acct = self.Accounts.newItem()
>   File "C:\cygwin\home\pje\PEAK\src/peak/binding/_once.pyx", line 112, in 
> _once.BaseDescriptor.__get__
>   File "C:\cygwin\home\pje\PEAK\src/peak/binding/_once.pyx", line 100, in 
> _once.__get__
>   File 
> "/usr/local/lib/python2.4/site-packages/peak/binding/components.py", line 
> 565, in computeValue
>     return self.targetName.findComponent(obj, self.default)
>   File 
> "/usr/local/lib/python2.4/site-packages/peak/binding/components.py", line 
> 436, in findComponent
>     return config.lookup(component, self.ob, default)
>   File 
> "/usr/local/lib/python2.4/site-packages/peak/config/config_components.py", 
>   line 156, in lookup
>     raise exceptions.NameNotFound(configKey, resolvedObj = component)
>peak.exceptions.NameNotFound: config.MultiKey(<class 
>'peak.storage.interfaces.IDataManager'>, <class 
>'fcgbilling.model.Account'>) 
>[resolvedObj=<fcgbilling.commands.loadacctsCmd object at 0x84a190c>]

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).




More information about the PEAK mailing list