[Zope] Dynamic dictionary keys?
Andrew Hedges
andrew at clearwired.com
Mon Feb 27 12:39:46 EST 2006
Andreas and Jonathan,
Thanks for the responses! As I said, I am completely new to Zope/
Python, so I appreciate your help. I'll look into how this could be
done with a Python script instead of DTML, but this version of our
product is all DTML, so that's why I'm using this solution for now.
Next version we're moving to Zope 3, so things should get better!
In any case, Jonathan's solution worked (though he had single quotes
around 'calstart' which shouldn't have been there.) What I'm doing
is setting up a hash table so I can do some branching in a separate
loop. I have a feeling I'm building a hash table for something I may
be able to access directly, but it's working, so I don't want to take
up more space in peoples' inboxes. Thanks again for the quick help!
-Andrew
On Feb 27, 2006, at 10:15 AM, Andreas Pakulat wrote:
> On 27.02.06 09:56:49, Andrew Hedges wrote:
>> Allow me to preface this by saying I am a complete newbie to Zope
>> (I prefer to
>> think of it as beginner's mind...). What I am attempting to do is
>> dynamically
>> add items to a dictionary, but Zope complains "keyword can't be an
>> expression".
>> Here's the reduced case of my code:
>>
>> <dtml-let eventsDict="{}">
>> <dtml-let calstart="somestring">
>> <dtml-call "REQUEST.set(eventsDict[calstart]=id)">
>> </dtml-let>
>> </dtml-let>
>
> First let me tell you: Write a python script for things like this, it
> really belongs into one.
>
> Second thing: your dtml-call has a serious error, eventsDict[..]=id is
> executed but it doesn't produce anything so set is called with no
> parameters and this is wrong. set needs 2 parameters, one beeing a
> string as the key and a second as the value which can be of any type
> python knows.
>
> I also don't get what this snippet should do?
>
> Andreas
More information about the Zope
mailing list