[Zope] How do I eval a variable within the acquisition path?

Jonathan dev101 at magma.ca
Tue Aug 21 22:08:30 EDT 2007


----- Original Message ----- 
From: "Tim Nash" <thedagdae at gmail.com>
To: "Jonathan" <dev101 at magma.ca>
Cc: <zope at 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



More information about the Zope mailing list