Kenneth Gonsalves schrieb:
On Monday 20 Jun 2005 5:26 pm, Tonico Strasser wrote:

Kenneth Gonsalves schrieb:

hi
i am having a very weird experience. I have a page template
called manageheads. This requires a parameter called
'companyname' to be passed to it. I access this option as:
python:somefunction(companyname=options['companyname'])
when i call the ZPT from the web like so:
http://.../manageheads?companyname=nameofcompany
it works

Are you shure this works? Did you redefine 'options' somewhere?


but if i call it from a python script like so:
return manageheads(companyname=nameofcompany)
it complains saying
key error 'companyname'

It should simply work.


The weird thing is that i have several similar ZPTs where this
call from python scripts work perfectly in the same zope
instance. So why not in this one? any clues?

Maybe you did redefine 'options' in your template.


options has not been redefined anywhere. The problem appears to be in the way to call a particular python script

this is a bit long, but interesting nevertheless -:)

the variable in question is 'compname' which is either request['compname'] or options['compname'] depending on how the ZPT is called (from web it goes to 'request' and from script in goes to 'options')

This is the script:

callheadtree.py
parameter list: compname

theads=context.getheadleafs()
heads=[]
for k in theads:
   heads.append(k['id'])
htree=context.getheadtree(compname=compname,id=1,name='chart',ret=[],heads=heads)
headtree=[]
for k in htree:
    headtree.append({'name':k})
return headtree

when tested using the test tab it works
when the originating ZPT is called from the web using '?' notation it works
when called from the following script:

onetest.py
names=callheadtree(compname='testcompany')
return names

it gives a Keyerror 'compname'

when the originating ZPT is called from a script:

it gives a Keyerror 'compname'

Ok, you've got a KeyError, but where? Traceback?

Tonico

_______________________________________________
ZPT mailing list
ZPT@zope.org
http://mail.zope.org/mailman/listinfo/zpt

Reply via email to