What you need is the mapping keyword: <dtml-in MyPythonScript mapping> <dtml-var favorite_food> </dtml-in> Kevin -----Original Message----- From: zope-admin@zope.org [mailto:zope-admin@zope.org]On Behalf Of Charlie Reiman Sent: Monday, July 08, 2002 12:51 PM To: Kevin Carlson; zope@zope.org Subject: RE: [Zope] dtml-in over python script Dictionaries don't work, as I mentioned. That is, I can return dictionaries but then I have to access them in DTML will cruft like: <dtml-var expr="_['sequence-item']['favorite_food']"> which strikes me as ridiculous. It's just personal opinion though. Did you have some other way to use dictionaries? Someone already suggested I use a brain, which does what I want but in what I consider a rather awkward way since I now need to provide external code.
-----Original Message----- From: zope-admin@zope.org [mailto:zope-admin@zope.org]On Behalf Of Kevin Carlson Sent: Sunday, July 07, 2002 1:01 PM To: Charlie Reiman; zope@zope.org Subject: RE: [Zope] dtml-in over python script
Charlie,
You want to use a dictionary. Should work just fine without having to resort to external file system code. Let me know if you need an example of this.
Kevin
-----Original Message----- From: zope-admin@zope.org [mailto:zope-admin@zope.org]On Behalf Of Charlie Reiman Sent: Friday, July 05, 2002 6:02 PM To: zope@zope.org Subject: [Zope] dtml-in over python script
I have a SQL query that I need to wrap in a Python script. Fine and dandy. I'd like the results of the python call to be accessable with dtml-in but with custom field/attribute names.
I other words, I want to be able to do this:
--- dtml --- <dtml-in MyPythonScript> <dtml-var favorite_food> <dtml-var favorite_color> </dtml-in>
And this:
--- MyPythonScript --- rawresults = context.query_favorites() results = [] for rawitem in rawresults: food, color = results[0].bigfield.split(',') results.append(???)
return results
----
What would I place in the ??? field? I've tried:
A dictionary ("{'favorite_food':food, 'favorite_color':color}").
An object (placing a small class in the script. Fails to create the object.)
I've also tried adding my attributes to the existing result objects but that also fails.
Suggestions? This seems like it should be pretty easy.
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )