It might make your life easier if you used a dtml-let (WARNING: untested):
<dtml-in dictList="ScriptThatReturnsAListofDicts()">
  <dtml-let aDict="_['sequence-item']">
     <dtml-if "aDict.has_key('titled')">
            do something here
But this is still pretty ugly.  Another approach would be to clean up the data in your list/dicts within the python script, before you get to the dtml method.
----- Original Message -----
Sent: Monday, June 19, 2006 2:46 PM
Subject: [Zope] dictionary from sequence-item

I am looping through a list of dictionary objects using <dtml-in...
and within the dtml-in body I have:
<dtml-var "_.getitem('sequence-item')['titled']" missing="none">
Some of the dictionaries in the list don't have 'titled' key so it should replace it with the word "none", but it gives me an error
Error Type: KeyError
Error Value: 'titled'
I don't understand.  Another option is that I can use <dtml-if "_.getitem('sequence-item').has_key('titled')"> but it doesn't work, says has_key is an unknown attribute.  This is the stupidest thing ever! it's a dictionary object!
I try to typecast it using the dict(_.getitem('sequence-item')).has_key('titled') it gives me an error saying it can't typecast, but I am 100% sure it's a dictionary object because I can access it easily _.getitem('sequence-item')['titled'] for those that have that key.

Any idea how I can check if the titled key is in the dictionary for the current list item?

Thanks in advance guys!

Yahoo! Messenger with Voice. PC-to-Phone calls for ridiculously low rates.

Zope maillist  -
**   No cross posts or HTML encoding!  **
(Related lists - )
Zope maillist  -
**   No cross posts or HTML encoding!  **
(Related lists - )

Reply via email to