[Zope] dtml-in over python script
Kevin Carlson
khcarlso@bellsouth.net
Mon, 8 Jul 2002 13:18:41 -0400
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 )