Exemple #1
0
class WbSHandler(WbSBaseHandler):
    wbsRequest = None
    
    
    def _parseWbSMessage(self,data):
        self.wbsRequest  = JsonRPCPayload()
        try:
            self.wbsRequest.load(data)
        except JsonRPCError as e:
            response = JsonRPCPayload(rpcid=None)
            response.setError(e.code, e.errorString)
            self.write_message(response.getPacket(self.application.rpc_encode_type))
            
        
      
    def _findServiceEndpoint(self, name):
        meth = None
        
        try:
            meth = getattr(self.service, name)
            if hasattr(meth, "rpcmethod"):
                return meth
            else:
                return None
             
        except AttributeError:
            return None


    def _dispatch(self, method, params):
      
        func = self._findServiceEndpoint(method)
       
        response = ''
        if func is not None:
            try:
                if type(params) is types.ListType:
                   
                    if params[0] != '':
                        response = func(*params)
                    else:
                        pass
                else:
                    response = func(**params)
                return response
            except TypeError:
                err_lines = traceback.format_exc().splitlines()
                trace_string = '%s | %s' % (err_lines[-3], err_lines[-1])
                exc_type, exc_value, exc_tb = sys.exc_info()
                
                raise JsonRPCError(-32602, 'Invalid parameters: %s' %  trace_string)
            except:
                err_lines = traceback.format_exc().splitlines()
                trace_string = '%s | %s' % (err_lines[-3], err_lines[-1])
                raise JsonRPCError(-32603, 'Server error: %s' % 
                                         trace_string)

        else:
            raise JsonRPCError(-32601, 'Method %s not supported.' % method)
Exemple #2
0
class WbSHandler(WbSBaseHandler):
    wbsRequest = None

    def _parseWbSMessage(self, data):
        self.wbsRequest = JsonRPCPayload()
        try:
            self.wbsRequest.load(data)
        except JsonRPCError as e:
            response = JsonRPCPayload(rpcid=None)
            response.setError(e.code, e.errorString)
            self.write_message(
                response.getPacket(self.application.rpc_encode_type))

    def _findServiceEndpoint(self, name):
        meth = None

        try:
            meth = getattr(self.service, name)
            if hasattr(meth, "rpcmethod"):
                return meth
            else:
                return None

        except AttributeError:
            return None

    def _dispatch(self, method, params):

        func = self._findServiceEndpoint(method)

        response = ''
        if func is not None:
            try:
                if type(params) is types.ListType:

                    if params[0] != '':
                        response = func(*params)
                    else:
                        pass
                else:
                    response = func(**params)
                return response
            except TypeError:
                err_lines = traceback.format_exc().splitlines()
                trace_string = '%s | %s' % (err_lines[-3], err_lines[-1])
                exc_type, exc_value, exc_tb = sys.exc_info()

                raise JsonRPCError(-32602,
                                   'Invalid parameters: %s' % trace_string)
            except:
                err_lines = traceback.format_exc().splitlines()
                trace_string = '%s | %s' % (err_lines[-3], err_lines[-1])
                raise JsonRPCError(-32603, 'Server error: %s' % trace_string)

        else:
            raise JsonRPCError(-32601, 'Method %s not supported.' % method)
 def _findCluster(self,bucket_name):
     ping_list = []
     if options.service_mode == 'ip':
         ping_list.append(options.service_ip+':'+options.service_port)
         ip_list = []
         for i in ping_list:
             ip = i.split(':')
             ip_list.append(ip[0])
         for ip_address in ip_list:
             RTT = Ping.doOne(ip_address)
             ping_list.append((ip_address+':'+options.service_port,RTT))
         ping_list = sorted(ping_list, key=lambda i:i[-1])
     else:
         msg = JsonRPCPayload('findCluster',[bucket_name])
         data = self.conn_service.send(msg.getPacket())
         msg.load(data)
         ping_list = msg.get('result')
         
     return ping_list 
Exemple #4
0
    def _findCluster(self, bucket_name):
        ping_list = []
        if options.service_mode == 'ip':
            ping_list.append(options.service_ip + ':' + options.service_port)
            ip_list = []
            for i in ping_list:
                ip = i.split(':')
                ip_list.append(ip[0])
            for ip_address in ip_list:
                RTT = Ping.doOne(ip_address)
                ping_list.append(
                    (ip_address + ':' + options.service_port, RTT))
            ping_list = sorted(ping_list, key=lambda i: i[-1])
        else:
            msg = JsonRPCPayload('findCluster', [bucket_name])
            data = self.conn_service.send(msg.getPacket())
            msg.load(data)
            ping_list = msg.get('result')

        return ping_list
Exemple #5
0
  payr = JsonRPCPayload()
  payr.load(result)
  print payr.getPayload()'''
  
  
  print '################'
  print 'CREATE BUCKET'
  
  payload = JsonRPCPayload()
  payload.setRequest('createBucket',['ziocane', '', '', ''])
  print 'invio', payload.getPacket()
  websock.send(payload.getPacket())
  result =  websock.recv()
  print 'result',result
  payr = JsonRPCPayload()
  payr.load(result)
  print 'payr', payr.getPayload()
  
  #CREATE BUCKET
  print '######CREATE BUCKET######'
 
  payload = JsonRPCPayload()
  payload.setRequest('createBucket',['nuovoBucket', '', '', 'manfred'])
  print 'invio', payload.getPacket()
  websock.send(payload.getPacket())
  result =  websock.recv()
  print 'result',result
  payr = JsonRPCPayload()
  payr.load(result)
  print 'payr', payr.getPayload()
  
Exemple #6
0
        print result
        payr = JsonRPCPayload()
        payr.load(result)
        print payr.getPayload()'''

        print '################'
        print 'CREATE BUCKET'

        payload = JsonRPCPayload()
        payload.setRequest('createBucket', ['ziocane', '', '', ''])
        print 'invio', payload.getPacket()
        websock.send(payload.getPacket())
        result = websock.recv()
        print 'result', result
        payr = JsonRPCPayload()
        payr.load(result)
        print 'payr', payr.getPayload()

        #CREATE BUCKET
        print '######CREATE BUCKET######'

        payload = JsonRPCPayload()
        payload.setRequest('createBucket', ['nuovoBucket', '', '', 'manfred'])
        print 'invio', payload.getPacket()
        websock.send(payload.getPacket())
        result = websock.recv()
        print 'result', result
        payr = JsonRPCPayload()
        payr.load(result)
        print 'payr', payr.getPayload()