commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnue/common/src/commdrivers/xmlrpc ServerAdapte...


From: Jason Cater
Subject: gnue/common/src/commdrivers/xmlrpc ServerAdapte...
Date: Wed, 01 May 2002 21:53:03 -0400

CVSROOT:        /home/cvs
Module name:    gnue
Changes by:     Jason Cater <address@hidden>    02/05/01 21:53:03

Modified files:
        common/src/commdrivers/xmlrpc: ServerAdapter.py 

Log message:
        code cleanup

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/common/src/commdrivers/xmlrpc/ServerAdapter.py.diff?cvsroot=OldCVS&tr1=1.9&tr2=1.10&r1=text&r2=text

Patches:
Index: gnue/common/src/commdrivers/xmlrpc/ServerAdapter.py
diff -c gnue/common/src/commdrivers/xmlrpc/ServerAdapter.py:1.9 
gnue/common/src/commdrivers/xmlrpc/ServerAdapter.py:1.10
*** gnue/common/src/commdrivers/xmlrpc/ServerAdapter.py:1.9     Tue Apr 30 
19:52:31 2002
--- gnue/common/src/commdrivers/xmlrpc/ServerAdapter.py Wed May  1 21:53:03 2002
***************
*** 102,108 ****
        xmlrpc.setLogLevel(params['loglevel'])
      else:
        xmlrpc.setLogLevel(1)
!       
      self.server.setParent(self)
      self.server.bindAndListen(self._port)
      self.server.setOnErr(self.OnErr)
--- 102,108 ----
        xmlrpc.setLogLevel(params['loglevel'])
      else:
        xmlrpc.setLogLevel(1)
! 
      self.server.setParent(self)
      self.server.bindAndListen(self._port)
      self.server.setOnErr(self.OnErr)
***************
*** 131,171 ****
  ##############################################################################
  
    def addRpMethod(self,object,parent,binding):
!     
      DirectoryServer.DirectoryServer.addRpMethod(self,object, \
                                                  parent,binding)
      self.server.addMethods({object._path:binding})
!     
  
    def addRpAttribut(self,object,parent,binding):
!     
      DirectoryServer.DirectoryServer.addRpAttribut(self,object,\
                                                    parent,binding)
!     
      if not object.readonly:
        # Add the get_* directory entry
        self.server.addMethods({'%s.get_%s' % \
                                (parent._path, object.name):\
                                binding})
!                              
      if not object.writeonly:
        # Add the set_* directory entry
        self.server.addMethods({'%s.set_%s' % \
                                (parent._path, object.name):\
                                binding})
  
!         
    def OnErr(server,source):
      print "Error occured with s: %s on source %s." % (server,source)
      return xmlrpc.ONERR_KEEP_WORK
!          
  
    #
    # Call the requested method
    #
    def call(self, method, params):
      print "Dispatching: ", method, params
!     
      ## Check if the Method is part of a service or a pointer to a
      ## single object
      ##
--- 131,171 ----
  ##############################################################################
  
    def addRpMethod(self,object,parent,binding):
! 
      DirectoryServer.DirectoryServer.addRpMethod(self,object, \
                                                  parent,binding)
      self.server.addMethods({object._path:binding})
! 
  
    def addRpAttribut(self,object,parent,binding):
! 
      DirectoryServer.DirectoryServer.addRpAttribut(self,object,\
                                                    parent,binding)
! 
      if not object.readonly:
        # Add the get_* directory entry
        self.server.addMethods({'%s.get_%s' % \
                                (parent._path, object.name):\
                                binding})
! 
      if not object.writeonly:
        # Add the set_* directory entry
        self.server.addMethods({'%s.set_%s' % \
                                (parent._path, object.name):\
                                binding})
  
! 
    def OnErr(server,source):
      print "Error occured with s: %s on source %s." % (server,source)
      return xmlrpc.ONERR_KEEP_WORK
! 
  
    #
    # Call the requested method
    #
    def call(self, method, params):
      print "Dispatching: ", method, params
! 
      ## Check if the Method is part of a service or a pointer to a
      ## single object
      ##
***************
*** 181,187 ****
        try:
          i=string.index(method,']',1)
          objhandle=method[1:i]
!         method=method[i+2:]        
        except ValueError:
          raise AttributeError, \
                "Wrong format of object handler " \
--- 181,187 ----
        try:
          i=string.index(method,']',1)
          objhandle=method[1:i]
!         method=method[i+2:]
        except ValueError:
          raise AttributeError, \
                "Wrong format of object handler " \
***************
*** 193,204 ****
        signature=direntry['signature']
      else:
  
!       # call to a service method            
        try:
          direntry = self.getMethodDirEntry(method)
          server_method = direntry['binding']
          signature=direntry['signature']
!         
          if server_method==None:
            raise AttributeError, \
                "Server XML-RPC method %s  is not " \
--- 193,204 ----
        signature=direntry['signature']
      else:
  
!       # call to a service method
        try:
          direntry = self.getMethodDirEntry(method)
          server_method = direntry['binding']
          signature=direntry['signature']
! 
          if server_method==None:
            raise AttributeError, \
                "Server XML-RPC method %s  is not " \
***************
*** 222,261 ****
        p=params[counter]
        if type(p)==type(""):
          if (len(p)==42) and (p[0]=="[") and (p[41]=="]"):
!           try:            
              p=p[1:41]
              obj=ObjectLibrarian.retrieveObject(p)
!             newp=params[0:counter-1]+(obj,)+params[counter+1:] 
              params=newp
            except:
!             pass        
        counter=counter+1;
!             
!     
      # call method with params
!     if len(params)==0:
!       result=server_method()
!     elif len(params)==1:
!       result=server_method(params[0])
!     elif len(params)==2:
!       result=server_method(params[0],params[1])
!     elif len(params)==3:
!       result=server_method(params[0],params[1],params[2])
!     elif len(params)==4:
!       result=server_method(params[0],params[1],params[2],params[3])
!     elif len(params)==5:
!       result=server_method(params[0],params[1],params[2],params[3],\
!                            params[4])
!     elif len(params)==6:
!       result=server_method(params[0],params[1],params[2],params[3],\
!                            params[4],params[5])
!     elif len(params)==7:
!       result=server_method(params[0],params[1],params[2],params[3],\
!                            params[4],params[5],params[6])
!     else:
!       raise AttributeError,\
!              "Too many param for XML-RPC " \
!              "procedure %s" % method
  
      # replace real object in param with an object handle
      if type(result)==type(self):  ## both should be instances
--- 222,239 ----
        p=params[counter]
        if type(p)==type(""):
          if (len(p)==42) and (p[0]=="[") and (p[41]=="]"):
!           try:
              p=p[1:41]
              obj=ObjectLibrarian.retrieveObject(p)
!             newp=params[0:counter-1]+(obj,)+params[counter+1:]
              params=newp
            except:
!             pass
        counter=counter+1;
! 
! 
      # call method with params
!     result=server_method(*params)
  
      # replace real object in param with an object handle
      if type(result)==type(self):  ## both should be instances



reply via email to

[Prev in Thread] Current Thread [Next in Thread]