Best Python code snippet using autotest_python
rpc_handler.py
Source:rpc_handler.py
...13 self._rpc_methods = RpcMethodHolder()14 self._dispatcher = serviceHandler.ServiceHandler(self._rpc_methods)15 # store all methods from interface modules16 for module in rpc_interface_modules:17 self._grab_methods_from(module)18 # get documentation for rpc_interface we can send back to the19 # user20 if document_module is None:21 document_module = rpc_interface_modules[0]22 self.html_doc = pydoc.html.document(document_module)23 def get_rpc_documentation(self):24 return rpc_utils.raw_http_response(self.html_doc)25 def raw_request_data(self, request):26 if request.method == 'POST':27 return request.raw_post_data28 return urllib.unquote(request.META['QUERY_STRING'])29 def execute_request(self, json_request):30 return self._dispatcher.handleRequest(json_request)31 def decode_request(self, json_request):32 return self._dispatcher.translateRequest(json_request)33 def dispatch_request(self, decoded_request):34 return self._dispatcher.dispatchRequest(decoded_request)35 def handle_rpc_request(self, request):36 json_request = self.raw_request_data(request)37 result = self.execute_request(json_request)38 return rpc_utils.raw_http_response(result)39 def handle_jsonp_rpc_request(self, request):40 request_data = request.GET['request']41 callback_name = request.GET['callback']42 # callback_name must be a simple identifier43 assert re.search(r'^\w+$', callback_name)44 result = self.execute_request(request_data)45 padded_result = '%s(%s)' % (callback_name, result)46 return rpc_utils.raw_http_response(padded_result,47 content_type='text/javascript')48 @staticmethod49 def _allow_keyword_args(f):50 """\51 Decorator to allow a function to take keyword args even though52 the RPC layer doesn't support that. The decorated function53 assumes its last argument is a dictionary of keyword args and54 passes them to the original function as keyword args.55 """56 def new_fn(*args):57 assert args58 keyword_args = args[-1]59 args = args[:-1]60 return f(*args, **keyword_args)61 new_fn.func_name = f.func_name62 return new_fn63 def _grab_methods_from(self, module):64 for name in dir(module):65 attribute = getattr(module, name)66 if not callable(attribute):67 continue68 decorated_function = RpcHandler._allow_keyword_args(attribute)...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!