I am passing a variable named 'column' to the following script and trying to fill a select box with the result of a zsqlmethod chosen dynamically using this variable. print """<select name="nonboolean" method="post">""" command=context.column() for row in command: code=row.code meaning=row.meaning print """<option value="%s">%s</option>""" &(code,meaning) print """</select>""" return printed I can not work out how to substitiute the command with the variable, any help much appreciated. Regards Garry
getattr(context, column)()? -aj On Wed, Nov 25, 2009 at 19:53, Garry Saddington <garry@schoolteachers.co.uk>wrote:
I am passing a variable named 'column' to the following script and trying to fill a select box with the result of a zsqlmethod chosen dynamically using this variable.
print """<select name="nonboolean" method="post">""" command=context.column()
for row in command: code=row.code meaning=row.meaning print """<option value="%s">%s</option>""" &(code,meaning)
print """</select>""" return printed
I can not work out how to substitiute the command with the variable, any help much appreciated. Regards Garry _______________________________________________ Zope maillist - Zope@zope.org https://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope-dev )
IF it's a variable passed to the script wouldn't you simply access it as 'column'? Also, is it a variable or a function? Or is the variable the name of a function somewhere? If it's the former just call it: column(). If it's the latter, Andreas should be correct, getattr(context, column)() or possible context[column] if you like that better. -- Jeffrey D Peterson Webmaster Crary Industries, Inc. -----Original Message----- From: zope-bounces@zope.org [mailto:zope-bounces@zope.org] On Behalf Of Garry Saddington Sent: Wednesday, November 25, 2009 12:53 PM To: zope@zope.org Subject: [Zope] dynamically call zsqlmethod I am passing a variable named 'column' to the following script and trying to fill a select box with the result of a zsqlmethod chosen dynamically using this variable. print """<select name="nonboolean" method="post">""" command=context.column() for row in command: code=row.code meaning=row.meaning print """<option value="%s">%s</option>""" &(code,meaning) print """</select>""" return printed I can not work out how to substitiute the command with the variable, any help much appreciated. Regards Garry _______________________________________________ Zope maillist - Zope@zope.org https://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope-dev )
Jeff Peterson wrote:
IF it's a variable passed to the script wouldn't you simply access it as 'column'?
Also, is it a variable or a function? Or is the variable the name of a function somewhere?
If it's the former just call it: column().
If it's the latter, Andreas should be correct, getattr(context, column)() or possible context[column] if you like that better. Thanks, Andreas' solution works for me. Regards Garry
participants (3)
-
Andreas Jung -
Garry Saddington -
Jeff Peterson