Best Python code snippet using autotest_python
rpc_handler.py
Source:rpc_handler.py
...16 r'modify_.*',17 r'create.*']18FULL_REGEXP = '(' + '|'.join(LOGGING_REGEXPS) + ')'19COMPILED_REGEXP = re.compile(FULL_REGEXP)20def should_log_message(name):21 return COMPILED_REGEXP.match(name)22class RpcMethodHolder(object):23 'Dummy class to hold RPC interface methods as attributes.'24class RpcHandler(object):25 def __init__(self, rpc_interface_modules, document_module=None):26 self._rpc_methods = RpcMethodHolder()27 self._dispatcher = serviceHandler.ServiceHandler(self._rpc_methods)28 # store all methods from interface modules29 for module in rpc_interface_modules:30 self._grab_methods_from(module)31 # get documentation for rpc_interface we can send back to the32 # user33 if document_module is None:34 document_module = rpc_interface_modules[0]35 self.html_doc = pydoc.html.document(document_module)36 def get_rpc_documentation(self):37 return rpc_utils.raw_http_response(self.html_doc)38 def raw_request_data(self, request):39 if request.method == 'POST':40 return request.raw_post_data41 return urllib.unquote(request.META['QUERY_STRING'])42 def execute_request(self, json_request):43 return self._dispatcher.handleRequest(json_request)44 def decode_request(self, json_request):45 return self._dispatcher.translateRequest(json_request)46 def dispatch_request(self, decoded_request):47 return self._dispatcher.dispatchRequest(decoded_request)48 def log_request(self, user, decoded_request, decoded_result,49 log_all=False):50 if log_all or should_log_message(decoded_request['method']):51 msg = '%s:%s %s' % (decoded_request['method'], user,52 decoded_request['params'])53 if decoded_result['err']:54 msg += '\n' + decoded_result['err_traceback']55 rpcserver_logging.rpc_logger.error(msg)56 else:57 rpcserver_logging.rpc_logger.info(msg)58 def encode_result(self, results):59 return self._dispatcher.translateResult(results)60 def handle_rpc_request(self, request):61 user = models.User.current_user()62 json_request = self.raw_request_data(request)63 decoded_request = self.decode_request(json_request)64 decoded_result = self.dispatch_request(decoded_request)...
logbot.py
Source:logbot.py
...9MAX_RETRIES = 510class LogBot(Bot):11 def __init__(self, slackconnection, botname):12 Bot.__init__(self, slackconnection, botname)13 def should_log_message(self, message):14 return True15 def append(self, chan, text, when):16 try:17 os.makedirs(LOG_DIR)18 except OSError:19 pass20 now_str = time.strftime(LOG_TIME_FORMAT, time.localtime(when))21 fname = LOG_DIR + '/' + self.lookup_user(chan) + '.txt'22 tries = MAX_RETRIES23 while True:24 try:25 with open(fname, 'a') as f:26 print >>f, "{}: {}".format(now_str, text)27 if tries != MAX_RETRIES:28 print >>sys.stderr, "retry success"29 break30 except IOError as e:31 if tries > 0:32 delay = 533 print >>sys.stderr, "couldn't save message: %s, retrying in %d..." % (e, delay)34 time.sleep(delay)35 tries -= 136 else:37 print >>sys.stderr, "\7couldn't save message: %s, giving up" % e38 def replace_text(self, text):39 def user_replace(match):40 grp = match.group()41 resolved = self.lookup_user(grp)42 if resolved != grp:43 return '@' + resolved44 return resolved45 return re.sub(r"<@U[A-Z0-9]+>", user_replace, text)46 def handle_message(self, message):47 if not self.should_log_message(message):48 return49 chan = message.channel.name50 user = self.lookup_user(message.user)51 text = self.replace_text(message.text)52 if message.thread_ts:53 self.append(54 chan,55 "thread {}, {}: {}".format(56 self.format_slack_time(LOG_TIME_FORMAT, float(message.thread_ts)),57 user,58 text59 ),60 message.when)61 else:...
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!!