Diff for /XMLRpcTools/XMLRpcTools.py between versions 1.8 and 1.11

version 1.8, 2007/10/23 17:40:23 version 1.11, 2010/03/19 11:39:52
Line 12  class XMLRpcServerProxy(SimpleItem): Line 12  class XMLRpcServerProxy(SimpleItem):
           
     meta_type="XMLRpcServerProxy"      meta_type="XMLRpcServerProxy"
           
     rpc_arg_expr='[^A-z0-9]'      rpc_no_arg_expr='[^A-z0-9]'
           
     manage_options= (      manage_options= (
         {'label':'Main Config','action':'mainConfigHTML'},          {'label':'Main Config','action':'mainConfigHTML'},
Line 38  class XMLRpcServerProxy(SimpleItem): Line 38  class XMLRpcServerProxy(SimpleItem):
         return pr          return pr
           
           
     def eval(self,method,argument):      def eval(self,method,argument,outputUnicode=True):
         """do proxy request"""          """do proxy request"""
         server=self.ServerProxy()          server=self.ServerProxy()
                   
Line 46  class XMLRpcServerProxy(SimpleItem): Line 46  class XMLRpcServerProxy(SimpleItem):
             # for XML-RPC methods only letters are allowed              # for XML-RPC methods only letters are allowed
             method=re.sub('[^A-z0-9_]','',method)              method=re.sub('[^A-z0-9_]','',method)
             # clean argument              # clean argument
             argument=re.sub(self.rpc_arg_expr,'',argument)              argument=re.sub(self.rpc_no_arg_expr,'',argument)
                           
             cmd="""server.%s('%s')"""%(method,argument)              cmd="""server.%s('%s')"""%(method,argument)
                         
Line 63  class XMLRpcServerProxy(SimpleItem): Line 63  class XMLRpcServerProxy(SimpleItem):
             resp = server.getresponse()              resp = server.getresponse()
             data = resp.read()              data = resp.read()
             #print "GOT: ", resp.status, ", ", resp.reason, " = ", data              #print "GOT: ", resp.status, ", ", resp.reason, " = ", data
                           if outputUnicode:
             return data.decode('UTF-8')              return data.decode('UTF-8')
               else:
                   return data
                   
     def eval2(self,method,argument1,argument2):      def eval2(self,method,argument1,argument2,outputUnicode=True):
         """do proxy request"""          """do proxy request"""
         server=self.ServerProxy()          server=self.ServerProxy()
                   
Line 74  class XMLRpcServerProxy(SimpleItem): Line 76  class XMLRpcServerProxy(SimpleItem):
             # for XML-RPC methods only letters are allowed              # for XML-RPC methods only letters are allowed
             method=re.sub('[^A-z0-9_]','',method)              method=re.sub('[^A-z0-9_]','',method)
             # clean argument              # clean argument
             argument1=re.sub(self.rpc_arg_expr,'',argument1)              argument1=re.sub(self.rpc_no_arg_expr,'',argument1)
             argument2=re.sub(self.rpc_arg_expr,'',argument2)              argument2=re.sub(self.rpc_no_arg_expr,'',argument2)
                           
             cmd="""server.%s('%s')"""%(method,argument1,argument2)              cmd="""server.%s('%s','%s')"""%(method,argument1,argument2)
                         
             return eval(cmd)              return eval(cmd)
         else:          else:
Line 93  class XMLRpcServerProxy(SimpleItem): Line 95  class XMLRpcServerProxy(SimpleItem):
             data = resp.read()              data = resp.read()
             #print "GOT: ", resp.status, ", ", resp.reason, " = ", data              #print "GOT: ", resp.status, ", ", resp.reason, " = ", data
                           
               if outputUnicode:
             return data.decode('UTF-8')              return data.decode('UTF-8')
               else:
                   return data
                   
           
     def mainConfigHTML(self):      def mainConfigHTML(self):
Line 101  class XMLRpcServerProxy(SimpleItem): Line 106  class XMLRpcServerProxy(SimpleItem):
         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','manageXMLRpcServerProxy.zpt')).__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','manageXMLRpcServerProxy.zpt')).__of__(self)
         return pt()          return pt()
           
     def mainConfig(self,serverUrl,use_xmlrpc=True,rpc_arg_expr=None,RESPONSE=None):      def mainConfig(self,serverUrl,use_xmlrpc=True,rpc_no_arg_expr=None,RESPONSE=None):
         """main config"""          """main config"""
                   
         self.serverUrl=serverUrl          self.serverUrl=serverUrl
Line 113  class XMLRpcServerProxy(SimpleItem): Line 118  class XMLRpcServerProxy(SimpleItem):
                   
         self.use_xmlrpc=use_xmlrpc          self.use_xmlrpc=use_xmlrpc
                   
         if rpc_arg_expr is not None:          if rpc_no_arg_expr is not None:
             self.rpc_arg_expr = rpc_arg_expr              self.rpc_no_arg_expr = rpc_no_arg_expr
                   
         if RESPONSE:          if RESPONSE:
             RESPONSE.redirect("/manage_main")              RESPONSE.redirect("manage_main")
                           
   
 def manage_addXMLRpcServerProxyForm(self):  def manage_addXMLRpcServerProxyForm(self):
     """add the CXMLRpcServerProxy"""      """add the XMLRpcServerProxy"""
     pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addXMLRpcServerProxy.zpt')).__of__(self)      pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addXMLRpcServerProxy.zpt')).__of__(self)
     return pt()      return pt()
   
 def manage_addXMLRpcServerProxy(self,id,serverUrl,use_xmlrpc=True,rpc_arg_expr=None,RESPONSE=None):  def manage_addXMLRpcServerProxy(self,id,serverUrl,use_xmlrpc=True,rpc_no_arg_expr=None,RESPONSE=None):
     """add the basket"""      """add the XMLRpcServerProxy"""
     if use_xmlrpc and use_xmlrpc != "no":      if use_xmlrpc is not None and use_xmlrpc != "no":
         use_xmlrpc = True          use_xmlrpc = True
     else:      else:
         use_xmlrpc = False          use_xmlrpc = False
                   
     if rpc_arg_expr is not None:  
         self.rpc_arg_expr = rpc_arg_expr  
           
     ob=XMLRpcServerProxy(id,serverUrl,use_xmlrpc)      ob=XMLRpcServerProxy(id,serverUrl,use_xmlrpc)
           
       if rpc_no_arg_expr is not None:
           ob.rpc_no_arg_expr = rpc_no_arg_expr
           
     self._setObject(id, ob)      self._setObject(id, ob)
           
     if RESPONSE is not None:      if RESPONSE is not None:
         RESPONSE.redirect('manage_main')          RESPONSE.redirect('manage_main')
   
           
   

Removed from v.1.8  
changed lines
  Added in v.1.11


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>