def call(self, method, params): # override this method to implement RPC methods if params == (): params = ('OK') if debug: print "ConfigServiceTCP", method, params request = method user = params[1] password = user.split('/')[1] user = user.split('/')[0] data = '' if len(params) > 2: data = params[2].split('\n') request = ConfigServiceRequest(method, user, password, data, configuration_service.get_target(), 0) if debug: print 'ConfigServiceListenerXMLRPC Processing request' response = configuration_service.process_request(request) return response.get_response()
def _start_listening(self): while 1: try: data, sender = self.sock.recvfrom(1500) ## parse commands into required tokens request = self._parse_request(data) ## Should this command be processed? process_flag = 0 if debug: print 'Request: %s Target: %s' % (request.get_command(), request.get_target()) if request.get_target(): # is directed if (request.get_target() == configuration_service.get_target()): process_flag = 1 else: process_flag = 1 if process_flag: if debug: print 'ConfigServiceListenerIGMP Processing request' response = configuration_service.process_request(request) result = None if response.is_error(): result = response.get_message() else: result = response.get_response() if result != None: self.sock.sendto(result, (igmp_group, igmp_rport)) if debug: print 'Done ..' except Exception, e: self.sock.sendto(str(e), (igmp_group, igmp_rport)) if debug: print ('Error while reading from mulitcast socket: %s' % str(e))