[Zope] Request & has_key

Ausum Studio ausum_studio at hotmail.com
Wed Apr 21 15:59:03 EDT 2004


The only way to pass a variable created as part of one request, to the
following one (after you click 'submit' your browser generates a new one,
even though you are calling the same template), is to have it as a form
object, maybe as a hidden input tag. You can also perform the same via
javascript.

Ausum

----- Original Message ----- 
From: "Philip Kilner" <phil at xfr.co.uk>
To: <zope at zope.org>
Sent: Wednesday, April 21, 2004 1:57 PM
Subject: [Zope] Request & has_key


> Hi List,
>
> I'm having problems with testing for the existence of a key in my
> request. I've had similar problems in the past, and asked the list in
> the past, but always managed to fumble my way out of them - now I seem
> to be 100% stuck!
>
> I'm working on a page template which calls a python script. This script
> needs to: -
>
> - Test for the existence of a counter called "job_step".
> - If it does not exist, initialise it as one (it's an integer).
> - If it does exist, perform conditional tasks based on it's value.
>
> My script reads, in part: -
>
> req = context.REQUEST
>
> if req.has_key('job_step'):
>
>      if req.job_step == 1:
>          do that...
>
>      else:
>          do the other...
> else:
>      container.REQUEST.set('job_step', 1)
>      do this...
>
> ...and that's where my problem lies - the test /always/ fails!
>
> If I throw the whole request into the page template, I can see that the
> key "job_step" is listed, with a value of one. Subsequently, a second
> script called by the same template increments it to two, which I can
> also see, if I comment out the line which sets it to one - but when the
> whole page is thrown for "step 2", the test fails and the value is reset
> to one.
>
> So: -
>
> - Can anyone help me understand what I'm doing wrong?
>
> - I've been advised in the past that "REQUEST", although it "acts" like
> a dictionary is not actually a dictionary. Is this so?
>
> - Is there a way of testing that "req" is a dictionary?
>
> - If it isn't, shouldn't "has_key" barf?
>
> This feels like a basic, stupid, question, but I'm stuck and - apart
> from reminding me that I've been here before, Google is apparently /not/
> my friend today...
>
> TIA
>
> Cheers,
>
> PhilK
>
>
> _______________________________________________
> Zope maillist  -  Zope at zope.org
> http://mail.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists -
>  http://mail.zope.org/mailman/listinfo/zope-announce
>  http://mail.zope.org/mailman/listinfo/zope-dev )
>



More information about the Zope mailing list