--- XMLRpcTools/XMLRpcTools.py 2007/10/22 18:18:27 1.6 +++ XMLRpcTools/XMLRpcTools.py 2007/10/23 17:48:09 1.9 @@ -44,7 +44,7 @@ class XMLRpcServerProxy(SimpleItem): if self.use_xmlrpc: # for XML-RPC methods only letters are allowed - method=re.sub('[^A-z0-9]','',method) + method=re.sub('[^A-z0-9_]','',method) # clean argument argument=re.sub(self.rpc_arg_expr,'',argument) @@ -60,6 +60,35 @@ class XMLRpcServerProxy(SimpleItem): #print "GET: ", uri server.request("GET", uri) + resp = server.getresponse() + data = resp.read() + #print "GOT: ", resp.status, ", ", resp.reason, " = ", data + + return data.decode('UTF-8') + + def eval2(self,method,argument1,argument2): + """do proxy request""" + server=self.ServerProxy() + + if self.use_xmlrpc: + # for XML-RPC methods only letters are allowed + method=re.sub('[^A-z0-9_]','',method) + # clean argument + argument1=re.sub(self.rpc_arg_expr,'',argument1) + argument2=re.sub(self.rpc_arg_expr,'',argument2) + + cmd="""server.%s('%s','%s')"""%(method,argument1,argument2) + + return eval(cmd) + else: + # HTTP + # TODO: check arguments + uri = method + if argument1: + uri += '?' + argument1 + argument2 + + #print "GET: ", uri + server.request("GET", uri) resp = server.getresponse() data = resp.read() #print "GOT: ", resp.status, ", ", resp.reason, " = ", data