I would simply do the following job_step = int(request.get('job_step', 1)) -jim -----Original Message----- From: Philip Kilner [mailto:phil@xfr.co.uk] Sent: Wednesday, April 21, 2004 2:57 PM To: zope@zope.org 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@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 )