Diff for /XMLRpcTools/XmlRpcProxy.py between versions 1.4 and 1.5

version 1.4, 2007/11/26 20:32:58 version 1.5, 2008/03/06 15:08:32
Line 74  class XmlRpcProxyMethod(SimpleItem): Line 74  class XmlRpcProxyMethod(SimpleItem):
           
     rpc_arg_expr='[^A-z0-9]'      rpc_arg_expr='[^A-z0-9]'
           
       num_retries=0
       
     manage_options= (      manage_options= (
         {'label':'Main Config','action':'mainConfigForm'},          {'label':'Main Config','action':'mainConfigForm'},
         )+ SimpleItem.manage_options          )+ SimpleItem.manage_options
   
           
     def __init__(self,id,rpc_arg_expr=None):      def __init__(self,id,rpc_arg_expr=None,num_retries=0):
         """init server proxy"""          """init server proxy"""
         self.id=id          self.id=id
           self.num_retries = num_retries
         if rpc_arg_expr:          if rpc_arg_expr:
             self.rpc_arg_expr = rpc_arg_expr              self.rpc_arg_expr = rpc_arg_expr
   
Line 95  class XmlRpcProxyMethod(SimpleItem): Line 98  class XmlRpcProxyMethod(SimpleItem):
         else:          else:
             args = argv              args = argv
                           
           i = 0
           while True:
               try:
         # call the method self.id on the server with the args          # call the method self.id on the server with the args
         return getattr(server, self.id)(*args)          return getattr(server, self.id)(*args)
                   
               except:
                   # should we catch only specific exceptions?
                   if i >= self.num_retries:
                       # pass on exception
                       raise
               i += 1
   
           
     __call__ = eval      __call__ = eval
           
   
     mainConfigForm = PageTemplateFile('zpt/manageXmlRpcProxyMethod',globals())      mainConfigForm = PageTemplateFile('zpt/manageXmlRpcProxyMethod',globals())
                   
     def mainConfig(self,rpc_arg_expr=None,RESPONSE=None):      def mainConfig(self,rpc_arg_expr=None,num_retries=0,RESPONSE=None):
         """main config"""          """main config"""
                                   
           self.num_retries = num_retries
         if rpc_arg_expr is not None:          if rpc_arg_expr is not None:
             self.rpc_arg_expr = rpc_arg_expr              self.rpc_arg_expr = rpc_arg_expr
                   
Line 118  def manage_addXmlRpcProxyMethodForm(self Line 133  def manage_addXmlRpcProxyMethodForm(self
     pt=PageTemplateFile('zpt/addXmlRpcProxyMethod',globals()).__of__(self)      pt=PageTemplateFile('zpt/addXmlRpcProxyMethod',globals()).__of__(self)
     return pt()      return pt()
   
 def manage_addXmlRpcProxyMethod(self,id,rpc_arg_expr,RESPONSE=None):  def manage_addXmlRpcProxyMethod(self,id,rpc_arg_expr,num_retries,RESPONSE=None):
     """add the basket"""      """add the basket"""
     ob=XmlRpcProxyMethod(id,rpc_arg_expr)      ob=XmlRpcProxyMethod(id,rpc_arg_expr,num_retries)
     self._setObject(id, ob)      self._setObject(id, ob)
           
     if RESPONSE is not None:      if RESPONSE is not None:

Removed from v.1.4  
changed lines
  Added in v.1.5


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