[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