----- Original Message ----- From: "Tim Nash" <thedagdae@gmail.com> To: "Jonathan" <dev101@magma.ca> Cc: <zope@zope.org> Sent: Tuesday, August 21, 2007 9:10 PM Subject: Re: [Zope] How do I eval a variable within the acquisition path?
Thank you, that is cool but it isn't what I was looking for. My fault. It is hard to describe. This may be called an indirect variable reference.
I want the form to ask for the type of animal (hippo? giraffe?) and send it to a python script. No problem here. I can write the form and most of the script that is called. But this is where I have the problem.
The python script will use the name of the animal to go down into the proper folder and call vaccinateplan() on all the items in that folder. The key line in the python script is:
print context.Vet.category.animal.vaccinateplan()
That runs the vaccinateplan script on the folder which has a folder id of either 'hippo' or 'girafee'. And it is in the folder named by the variable category and in the folder named 'Vet'
There is no folder with the id of 'category' or 'animal'
I'm sorry my explanations are not clear. And I shouldn't have used the hippo and girafee example from the zope book because that is doing something a little different. Below is the directory structure I am thinking of. Thanks! Tim
vet | ----largeAnimal | | | ----hippo | ----girafee |---small Animal | |--vacinateplan()
If you are dealing with a form then you could just direct the 'action' to point to the 'vacinateplan' script, then use REQUEST['animal'] or REQUEST.form['animal'] Alternatively... if u restructure your URLs so that they look like: www.xyz.com/vacinateplan/hippo or www.xyz.com/vacinateplan/giraffe etc Then you can set up your python script ("vacinateplan") to access the 'animal' variable as follows: print traverse_subpath[0] It is also possible that i am unclear on your use case! Jonathan