use the magic of python, specifically the getattr() builtin :-) ie. you'd use for example zsql = getattr(context, 'getSalesmen') # 'getSalesmen' could be any string you want # now call your zsql method in the usual way rs = zsql(param='val') # do whatever youre going to do to your salesmen hth peter. Erik Myllymaki wrote:
So, thanks to the archives, I see that ZSQL methods need to be wrapped to get at them via XML-RPC. Modifying a snippet from a previous post, I got the following Python Script:
-------Begin script------------------- items=[] names = context.getSalesmen().names() for item in getSaleman(): new_dict = {} k=0 while k < len(item): new_dict[names[k]] = item[k] k=k+1 items.append(new_dict)
return items --------End script-----------------
this gives me what I need for the "getSalesmen" ZSQL method.
But I would like to use the script with any ZSQL Method. So, i will need to pass in two parameters - the first a ZSQL Method name, and the second, a list of parameters.
Problem is, I don't know how I would go about building and executing the statement:
for item in getSalemen():
if all I have is the string "getSalesmen" ?
exec(), eval() ...
TIA
_______________________________________________ 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 )